首页 > 其他分享 >Diffusers框架使用Civitai上的checkpoit和lora模型

Diffusers框架使用Civitai上的checkpoit和lora模型

时间:2023-06-20 16:13:52浏览次数:49  
标签:checkpoit 模型 huggingface diffusers Civitai Diffusers test model

1、实验室有一台带显卡的机器,能访问huggingface但访问不了Civitai,而Civitai上的模型多是webui训练来的也不能直接用到diffusers框架上,于是需要利用Colab把Civitai上的模型转化成diffusers可用再上传到huggingface上,再下载到本地。

2、google colab上新建一个笔记本,再选 修改==》笔记本设置==》硬件加速器把GPU选上,然后点连接

3、安装diffusers环境,复制以下代码在colab后点击运行单元格

!pip install --upgrade diffusers[torch]
!pip install transformers
!pip install omegaconf
!pip install safetensors
!git clone https://github.com/huggingface/diffusers

4、在Civitai上找到想要的模型(checkpoit或者lora),注意看Base Model是不是SD模型,然后对着下载按钮右键==》复制链接地址

 5、在colab上下载Civitai模型,替换下复制的下载链接

!wget -O test_model.safetensors $(curl https://civitai.com/api/download/models/94081)

然后可以看到下载好的模型

 6、在diffusesrs可以看到一些转化的脚本,本次仅用到转化checkpoit和lora的脚本,视Civitai的模型类型而定,如果是lora模型的话需要指定一个基本模型,一般都是sd1.5

#checkpoit
!python ./diffusers/scripts/convert_original_stable_diffusion_to_diffusers.py --checkpoint_path ./test_model.safetensors  --dump_path ./test_model --from_safetensors
#lora
!python ./diffusers/scripts/convert_lora_safetensor_to_diffusers.py --base_model_path runwayml/stable-diffusion-v1-5 --checkpoint_path  ./test_model.safetensors --dump_path ./test_model

7、转化完成

 8、测试

from diffusers import StableDiffusionPipeline
import torch

model_id = "./test_model"
pipe = StableDiffusionPipeline.from_pretrained(model_id,torch_dtype=torch.float16,safety_checker= None)
pipe = pipe.to("cuda")

prompt = "1girl"
negative_prompt = ""
image = pipe(prompt,negative_prompt=negative_prompt).images[0]
image

9、上传到huggingface,先在huggingface上创建一个空模型,然后再复制huggingface的Access Token(头像==》Setting==》Access Token),在colab上登录需要

from huggingface_hub import login
login()

10、把模型上传到刚创建的huggingface仓库,注意对应repo_id

from huggingface_hub import HfApi
api = HfApi()

api.upload_folder(
    folder_path="./test_model",
    repo_id="zhyemmmm/test_model",
    repo_type="model",
)

11、等待上传完成,就可以在huggingface上看到了,再修改一下README.md,就可以把8的model_id改成10的repo_id测试了

12、最后用git-lfs下载到实验机器就可以本地调用civitai上的模型了

 

标签:checkpoit,模型,huggingface,diffusers,Civitai,Diffusers,test,model
From: https://www.cnblogs.com/zhylioooo/p/17493868.html

相关文章

  • 开发 Diffusers 库的道德行为指南
    我们正在努力让我们每次发布的库更加负责!我们很荣幸宣布我们发布了道德守则,并将作为一部分其放入 Diffusers库的说明文档。由于扩散模型在现实世界上的实际应用例子会对社会造成潜在的负面影响,该守则旨在引导对于社区做出贡献的Diffusers库维护者进行技术决策。我们希望对......
  • 使用 diffusers 训练你自己的 ControlNet
    简介ControlNet这个神经网络模型使得用户可以通过施加额外条件,细粒度地控制扩散模型的生成过程。这一技术最初由AddingConditionalControltoText-to-ImageDiffusionModels这篇论文提出,并很快地风靡了扩散模型的开源社区。作者开源了8个不同的模型,使得用户可以用8种......
  • Diffusers中基于Stable Diffusion的哪些图像操作
    目录辅助函数Text-To-ImageImage-To-ImageIn-paintingUpscaleInstruct-Pix2Pix基于StableDiffusion的哪些图像操作们:Text-To-Imagegeneration:StableDiffusionPipeline......
  • Diffusers库的初识及使用
    diffusers库的目标是:将扩散模型(diffusionmodels)集中到一个单一且长期维护的项目中以公众可访问的方式复现高影响力的机器学习系统,如DALLE、Imagen等让开发人员可以很......