模型权重通常存储在Hub(如Huggingface)或本地的单独子文件夹中,如上一篇文章的示例,一般使用[StableDiffusionXLPipeline.from_pretrained]方法加载模型文件即可。
但是也可以使用[StableDiffusionXLPipeline.from_single_file]方法从Hub(如Huggingface)或本地加载以单个文件格式(.ckpt或.saftensors)存储的模型检查点。这种方式我们可以手工先下载好模型(见这里模型的手工下载技巧-镜像网站的使用,并保存在本地,然后通过指定加载模型文件的路径的方式实现模型加载。
# 以下代码为程序运行进行设置
import os os.environ["HF_ENDPOINT"] = "https://hf-mirror.com" from diffusers import StableDiffusionXLPipeline import torch
# 以下代码从指定路径引入单个SDXL模型文件
pipeline = StableDiffusionXLPipeline.from_single_file(
"你的模型文件存放地址\\stabilityai\\stable-diffusion-xl-base-1.0\\sd_xl_base_1.0.safetensors",
torch_dtype=torch.float16
).to("cuda")
# 以下代码由提示词生成高清图片
prompt = "1girl,asian, 20-old-years, solo, bare shoulders, red dress, red footwear,big eyes, black hair,simple background, depth of field, dress, high heels, kneehighs, looking at viewer, solo, thigh strap,soft light,,sfw,8k high definition, 35 mm film photography, photo realistic, insanely detailed, intricate, elegant, best quality, ultra-detailed, masterpiece, finely detail, highres, 8k wallpaper"
image = pipeline(prompt=prompt).images[0]
image.show()