Stable-diffusion复现笔记

打印 上一主题 下一主题

主题 974|帖子 974|积分 2922

一、引言

目前正在学习有关扩撒模型的相关知识,最近复现了Stable-diffuison,此文主要是想记录一下整体的复现过程以及我在复现过程中出现的一些奇怪的题目以及我的处理方法。这里我的复现主要是针对官网文档实现的,并没有用到webui版本,如果是想体验Stable-diffusion可以去下载webui版本,这里就不外多报告。
二、环境配置

想要在Windows环境下部署,首先需要自身机器的显存大于4GB,(个人实测在没有改变默认参数的情况下是4GB是跑不动的,发起大于4GB)
在配置项目之前,请自行安装Python环境、Anaconda、Pycharm又大概Vscode等,以及Cuda、Cudnn的安装。
三、下载相关文件

1.CompVis/stable-diffusion:一种潜在的文本到图像扩散模型 (github.com)
下载stable-diffsuion项目并解压。
2.CompVis (CompVis) (huggingface.co)
下载预训练好的权重模型,打开链接后选择想要下载的模型,这里我选择的是CompVis/stable-diffusion-v1-4,选择stable-diffusion-v-1-4-original.

下载权重模型sd-v1-4.ckpt。

3.openai/clip-vit-large-patch14 at main (huggingface.co)
下载clip-vit-large-patch14,这里需要下载的文件主要如下:
   

  • pytorch_model.bin
  • config.json
  • merges.txt
  • preprocessor_config.json
  • special_tokens_map.json
  • tokenizer.json
  • tokenizer_config.json
  • vocab.json
  下载完成后,在工程根目次创建文件夹openai\clip-vit-large-patch14,将下载的内容放入其中。 
4. CompVis/stable-diffusion-v1-4 at main (huggingface.co)
下载安全性检查器,主要下载的文件如下:
   

  • pytorch_model.bin(约1.13GB)
  • config.json
  这里我们还需要下载一个文件 ,主要是用于特征提取器的配置文件,链接如下:
CompVis/stable-diffusion-v1-4 at main (huggingface.co)

下载完成后,在工程根目次创建文件夹CompVis\stable-diffusion-safety-checker,将下载三个文件的内容放入其中。 
四、构建整体项目

1.创建假造环境,根据官方文档的手册创建假造环境(ldm)
  1. conda env create -f environment.yaml
  2. conda activate ldm
复制代码
  在这里,主要大概会产生软件包版本产生辩论又大概软件下载不乐成等题目,这里主要提到我遇到的一些题目
主要是clip和taming-transformers下载不乐成的办理方法。
如果下载不乐成,我们可以直接去github下载
CompVis/taming-transformers: Taming Transformers for High-Resolution Image Synthesis (github.com)
openai/CLIP: CLIP (Contrastive Language-Image Pretraining), Predict the most relevant text snippet given an image (github.com) 下载后我们将它们解压,然后在项目中创建一个src文件夹,把它们放进去就OK了

如果我们在使用创建环境的下令时出现失败题目,可以用以下代码更新环境(当然你也可以选择删除整个环境哈哈):
  1. conda env update -f environment.yaml
复制代码
 
五、运行

整个项目构建好了之后,就可以运行了,但是在我自己进行运行的时候,出现了一个题目,就是我筹划使用scripts/txt2img.py进行文本天生图像的时候,IDE提示我没有进入ldm包。

这里的ldm包是指我们工程项目下的ldm文件夹,但是明显项目内里是有的,怎么大概没有引入呢?我一开始也以为是文件目次题目,然后我查了很多办理方法,后来在也是在一个文章评论下面发现也有人产生的同样的题目,办理的办法实在就是将txt2img.py文件拉出来,这样文件就跟ldm文件夹在同一级别目次下了,试了一下还真行!(这是我在本地跑的时候出现的题目,但是就在刚刚我在实验室服务器上配好了项目环境跑的时候并没有产生这个题目,咱们就是说奇奇怪怪的哈哈哈。)

在工程根目次下,激活ldm假造环境,然后直接运行script中的脚本即可。好比说我这里运行一个文本天生图像的下令:
  1. python txt2img.py --ckpt "sd-v1-4.ckpt" --prompt "a photograph of an astronaut riding a horse" --plms --H 256 --W 256
复制代码
官方文档中的采样参数说明如下:
超参数表明
prompt天生图像所需的提示,如文本、图像等。
outdir天生结果保存的路径
skip_grid不天生拼接的图像,拼接图像由n_iter和n_samples列构成。
skip_save不天生独立的图像
ddim_stepsDDIM采样步数
plms用一个叫做plm的采样器
n_iter一次运行进行n次采样
H
天生图像的高
W天生图像的宽
F下采样因子
n_samples一次采样天生n张图像
ckpt模型权重文件路径
文章开头也提到如果你的显存不够是很难运行整个模型的,一般都会爆出显存不足的题目,就像这样(电脑太拉,背面我用了实验室的服务器跑去了):

一切顺利的话,我们就可以天生图片啦!(终端提示示比方下!)
这里我输入的下令是
  1. python scripts/txt2img.py --ckpt "sd-v1-4.ckpt" --prompt "a photograph of an astronaut play with a cute cat" --plms --H 512 --W 512
复制代码

 天生图片会默认放到项目工程下的outputs/txt2img-samples文件夹下(当然你也可以在配置文件中去修改存放路径)

天生图像如下(512*512的结果确实就是比256*256的好唉!!!):



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

天空闲话

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表