[diffusers]仅读取unet | 模型格式转化diffusion_pytorch_model.safetensors转为diffusion_pytorch_model.bin

问题描述

SError: Error no file named config.json found in directory /share/huanggao/zjc/code_mid/model_yw/bk-base-2m/unet.

无法读取unet

下载模型

我们从网上下载的模型

通过
pipe = StableDiffusionPipeline.from_pretrained("nota-ai/bk-sdm-base-2m", torch_dtype=torch.float16)

指令下载的unet是

diffusion_pytorch_model.safetensors格式的

我从网上直接下载的模型路径
/root/.cache/huggingface/hub/models--nota-ai--bk-sdm-base-2m/snapshots/e8b5597155c5b2c77585570b99113f1c77b97338/unet

转移到
/share/huanggao/zjc/code_mid/model_yw/bk-base-2m/unet

文件格式

config.json

diffusion_pytorch_model.safetensors
(这种方法无法直接用
config.json文件会显示找不到)

smallsd路径
~/.cache/huggingface/hub/models--OFA-Sys--small-stable-diffusion-v0/snapshots/38e10e5e71e8fbf717a47a81e7543cd01c1a8140/unet

格式是(diffusers格式)

文件格式

config.json

diffusion_pytorch_model.bin

转化策略(不应该转化)

转化文件路径

python ./scripts/convert_original_stable_diffusion_to_diffusers.py

转化文件
convert_original_stable_diffusion_to_diffusers.py

转化方法

python ./scripts/convert_original_stable_diffusion_to_diffusers.py

--checkpoint_path xxx.safetensors

--dump_path save_dir

--from_safetensors

python ./convert_original_stable_diffusion_to_diffusers.py --checkpoint_path /root/.cache/huggingface/hub/models--nota-ai--bk-sdm-base-2m/snapshots/e8b5597155c5b2c77585570b99113f1c77b97338/unet/diffusion_pytorch_model.safetensors --dump_path /share/huanggao/zjc/code_mid --from_safetensors

转化过程会报错

KeyError: 'time_embed.0.weight'

报错截图

解决办法

1 如果使用整个模型,如下指令

pipe = StableDiffusionPipeline.from_pretrained("nota-ai/bk-sdm-base-2m", torch_dtype=torch.float16)

复制代码
pipe = StableDiffusionPipeline.from_pretrained("nota-ai/bk-sdm-base-2m",  torch_dtype=torch.float16)

2 如果只用其中的Unet

unet_smallsd = NewUNet.from_pretrained(
args.smallsd_model_name_or_path, subfolder="unet", use_safetensors=True, revision=args.non_ema_revision
)

python 复制代码
unet_smallsd = NewUNet.from_pretrained(
        args.smallsd_model_name_or_path, subfolder="unet", use_safetensors=True, revision=args.non_ema_revision
    )  # -> small
    if accelerator.is_main_process:  print("Unet_student already Loaded! >>> ")

其中args.smallsd_model_name_or_path为
export smallsd="nota-ai/bk-sdm-base-2m"

我的理解

当采用了,这个指令来读取模型
unet_smallsd = NewUNet.from_pretrained(
args.smallsd_model_name_or_path, subfolder="unet", use_safetensors=True, revision=args.non_ema_revision
文件会保存到下面路径

~/.cache/huggingface/hub/models--nota-ai--bk-sdm-base-2m/snapshots/e8b5597155c5b2c77585570b99113f1c77b97338

models--nota-ai--bk-sdm-base-2m/
就等同于路径"nota-ai/bk-sdm-base-2m"

相关推荐
魔术师Grace几秒前
真正值钱的 AI 小工具,可能只是帮人少打一遍字
前端·人工智能
韦东东3 分钟前
究极方案:油猴脚本实现RAG问答前端图片流式体验
人工智能·大模型·油猴脚本·rag·tampermonkey·userscript
普通网友4 分钟前
【python】pyspark.errors.exceptions.base.PySparkRuntimeError [JAVA_GATEWAY_EXITED] Java gateway proce
java·python·gateway
云布道师4 分钟前
阿里云 OSS 向量 Bucket 正式商业化,提升 AI 应用效能
人工智能·阿里云·云计算
zavoryn4 分钟前
Python 面试高频:装饰器、迭代器、生成器和上下文管理器一次讲清
开发语言·python·面试
珠***格5 分钟前
边缘计算——“云-边-端”协同架构解析
大数据·人工智能·分布式·架构·能源·边缘计算
YJlio7 分钟前
OpenClaw v2026.5.26-beta.1 / beta.2 预发布解读:Gateway 加速、transcript 路径统一、多通道修复、语音增强与安装更新链路加固
人工智能·windows·python·ui·缓存·gateway·outlook
Cosolar1 小时前
AutoGen:微软开源的多Agent对话框架详解
人工智能·系统架构·大模型·agent·rag
Urbano1 小时前
一条休闲束脚裤的工业化诞生科普 八道自动化缝纫工序拆解
人工智能
陕西企来客5 小时前
企来客科技来客 GEO 优化系统深度解析:核心技术与原因分析
大数据·人工智能·科技·搜索引擎