如何将 Stable Diffusion PT+YAML 转换成 diffusers 格式

Huggingfacediffusers 格式是初学者最爱的格式,只需要简单几行代码,就可以下载模型,执行 文字到图片 转换等常用功能

而有时候在网上淘模型的时候,经常会遇到原版 Stable Diffusion 格式,只有一个 .pt 文件和一个 .yaml 配置文件,为了方便管理和加载,可以把原版格式转换为 diffusers 格式

下面以 waifu-diffusion-1.4 为示例,演示下如何完成格式转换

  1. 从网站上下载 waifu-diffusion-1.4 的 文件

https://huggingface.co/hakurei/waifu-diffusion-v1-4

wd-1-4-anime_e1.yaml
wd-1-4-anime_e2.ckpt
  1. 在本地准备 Python 环境
python -m venv venv
source venv/bin/activate
pip install 'diffusers[torch]' 'safetensors' 'transformers' 'omegaconf'
  1. 下载脚本文件

https://github.com/huggingface/diffusers/blob/v0.14.0/scripts/convert_original_stable_diffusion_to_diffusers.py

注意切换到匹配的 diffusers 版本,不然会出问题

  1. 执行命令
python convert_original_stable_diffusion_to_diffusers.py \
	--checkpoint_path wd-1-4-anime_e2.ckpt \
    --original_config_file wd-1-4-anime_e1.yaml \
    --image_size 768 \
    --scheduler_type pndm \
    --prediction_type v_prediction \
    --extract_ema \
    --to_safetensors \
    --device cpu \
    --dump_path out

即可在 out 目录下得到符合 diffusers 格式的模型了

可以使用

StableDiffusionImg2ImgPipeline.from_pretrained("path/to/out")

从本地目录加载模型

你可能感兴趣的:(深度学习,stable,diffusion,python,深度学习)