起因
stable-diffusion lora模型训练需要.ckpt
的模型文件作为底模。
而目前checkpoint
模型文件多以safetensors
为主,想要使用需要进行简单的转换。
转换方法
from safetensors.torch import load_file
import torch
import sys
import os
path = sys.argv[1]
if not os.path.exists(path):
print('path not exists')
sys.exit(0)
device = 'cpu'
weights = load_file(path, device=device)
weights["state_dict"] = weights
torch.save(weights, os.path.splitext(path)[0] + '.ckpt')
使用
在安装好环境的情况下,运行如下命令:
python .../path_to_model.safetensors