如何在本地运行Juggernaut模型

0 投票
1 回答
138 浏览
提问于 2025-04-14 16:47

我想在我的电脑上用Python运行经过微调的稳定扩散模型。比如说这个叫“Juggernaut”的模型:https://huggingface.co/RunDiffusion/Juggernaut-XL-v9

这是我的代码(它在使用stable-diffusion-xl-base-1.0时可以正常工作):

import random
from diffusers import DiffusionPipeline, StableDiffusionXLImg2ImgPipeline
import torch
import gc
import time

# for cleaning memory
gc.collect()
torch.cuda.empty_cache()

start_time = time.time()

model = "RunDiffusion/Juggernaut-XL-v9"
pipe = DiffusionPipeline.from_pretrained(
    model,
    torch_dtype=torch.float16,
)

pipe.to("cuda")

prompt = ("a portrait of male as a knight in middle ages, masculine looking, battle in the background, sharp focus, highly detailed, movie-style lighting, shadows")
seed = random.randint(0, 2**32 - 1)

generator = torch.Generator("cuda").manual_seed(seed)
image = pipe(prompt=prompt, generator=generator, num_inference_steps=1)
image = image.images[0]
image.save(f"output_images/{seed}.png")

end_time = time.time()

total_time = end_time - start_time
minutes = int(total_time // 60) 
seconds = int(total_time % 60) 

print(f"Took: {minutes} min {seconds} sec")
print(f"Saved to output_images/{seed}.png")

但是我遇到了这个错误:

OSError: 错误,没有找到名为pytorch_model.bin、tf_model.h5、model.ckpt.index或flax_model.msgpack的文件在目录中

可能是因为Python和CUDA的版本问题。我正在降低我的库的版本:

Python 3.9.0

PyTorch: 2.2.0+cu118

CUDA : 11.8

Diffusers: 0.26.3

Transformers: 4.38.1

1 个回答

0

这段代码的意思是:我们要创建一个叫做“pipe”的东西,它是通过一个叫“DiffusionPipeline”的工具来生成的。这个工具会从一个预先准备好的模型中获取信息。我们还指定了一些参数,比如使用16位浮点数(torch.float16)来提高计算效率,选择一种叫“fp16”的变体,并且启用一种叫“safetensors”的安全选项。

撰写回答