Stable-diffusion复现笔记

这篇具有很好参考价值的文章主要介绍了Stable-diffusion复现笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、引言

目前正在学习有关扩撒模型的相关知识,最近复现了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.

Stable-diffusion复现笔记,代码复现,深度学习,图像处理

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

Stable-diffusion复现笔记,代码复现,深度学习,图像处理

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)

Stable-diffusion复现笔记,代码复现,深度学习,图像处理

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

四、构建整体项目

1.创建虚拟环境,根据官方文档的手册创建虚拟环境(ldm)

conda env create -f environment.yaml
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了

Stable-diffusion复现笔记,代码复现,深度学习,图像处理

如果我们在使用创建环境的命令时出现失败问题,可以用以下代码更新环境(当然你也可以选择删除整个环境哈哈):

conda env update -f environment.yaml

 

五、运行

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

Stable-diffusion复现笔记,代码复现,深度学习,图像处理

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

Stable-diffusion复现笔记,代码复现,深度学习,图像处理

在工程根目录下,激活ldm虚拟环境,然后直接运行script中的脚本即可。比如说我这里运行一个文本生成图像的命令:

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_steps DDIM采样步数
plms 用一个叫做plm的采样器
n_iter 一次运行进行n次采样

H

生成图像的高
W 生成图像的宽
F 下采样因子
n_samples 一次采样生成n张图像
ckpt 模型权重文件路径

文章开头也提到如果你的显存不够是很难运行整个模型的,一般都会爆出显存不足的问题,就像这样(电脑太拉,后面我用了实验室的服务器跑去了):

Stable-diffusion复现笔记,代码复现,深度学习,图像处理

一切顺利的话,我们就可以生成图片啦!(终端提示示例如下!)

这里我输入的命令是

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

Stable-diffusion复现笔记,代码复现,深度学习,图像处理

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

Stable-diffusion复现笔记,代码复现,深度学习,图像处理

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

Stable-diffusion复现笔记,代码复现,深度学习,图像处理文章来源地址https://www.toymoban.com/news/detail-845432.html

到了这里,关于Stable-diffusion复现笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AMD安装Stable-Diffusion步骤笔记

    CPU AMD 5950X GPU AMD 6700XT Win 11且全程魔法上网 参考文档 下载并安装 Python 3.10.6 必须使用此版本 下载并安装 git 全程Next 确认安装路径,安装路径要求无中文,这里我以 C:UsersmikizDownloadsAI 为例 打开运行命令窗口: WIN + R 键入 cmd 打开cmd命令窗口 使用 cd 命令指定Stable-Diffusion安

    2024年02月09日
    浏览(42)
  • stable diffusion代码学习笔记

    本文学习的代码; 相关文献: Denoising Diffusion Probabilistic Models : DDPM,这个是必看的,推推公式 Denoising Diffusion Implicit Models :DDIM,对 DDPM 的改进 Pseudo Numerical Methods for Diffusion Models on Manifolds :PNMD/PLMS,对 DDPM 的改进 High-Resolution Image Synthesis with Latent Diffusion Models :Latent-Diffus

    2024年02月02日
    浏览(36)
  • Stable Diffusion with Diffusers 学习笔记: 原理+完整pipeline代码

    参考链接: https://huggingface.co/blog/stable_diffusion#how-does-stable-diffusion-work 在这篇文章中,我们想展示如何使用Stable Diffusion with the 🧨 Diffusers library,,解释模型是如何工作的,最后深入探讨扩散器是如何允许自定义图像生成pipeline的。 如果你对扩散模型完全陌生,我们建议你阅读

    2024年02月05日
    浏览(41)
  • 代码实现stable-diffusion模型,你也用AI生成获得一等奖的艺术图

    Midjourney工具获奖图片 好吗,人工智能虽然已经涉及到人类的方方面面,但没有想到,AI 还能抢艺术家的饭碗,这不,一位小哥使用AI工具生成的艺术照片竟然获奖了,而且还是一等奖,且最近刚刚火起来的stable diffusion 更是让艺术家与AI发生了争执,到底AI是否抢了艺术家的饭

    2024年02月10日
    浏览(62)
  • 如何本地部署基于stable-diffusion的AI绘画(jupyter,python实现,详细,附代码)

    自从Stable Diffusion 1.0模型发布以来,“AI文本图片生成”真正的变成普通人也能使用的技术。同时各种国内外AI绘图软件,也不断频繁更新,AI绘画的关注度也越来越高。 以下是本人自己生成出来的一些AI绘图(夹带私货木木枭^ ^) 对应的提示语prompt为: 那么如果我们想要 本

    2023年04月22日
    浏览(50)
  • 【人工智能·Stable-Diffusion】如何体验到 Stable-Diffusion

    带大家快速体验到AI图片生成 Stable-Diffusion,包含 win本地部署 参考和 云GPU服务器体验 。 Stable Diffusion 是一种通过文字描述创造出图像的 AI 模型. 它是一个开源软件, 使得新手可以在线尝试。 Stable Diffusion 的算法需要计算机有较强的算力,默认是需要配置有英伟达的独立显卡的

    2024年02月11日
    浏览(45)
  • stable-diffusion.cpp 一个文件解决stable diffusion所有环境,不需要python,stable-diffusion.dll动态库C#调用Demo

    stable-diffusion.cpp 一个文件解决stable-diffusion所有环境,不需要python,stable-diffusion.dll动态库C#调用Demo 目录 介绍 效果 Text To Image Image To Image Upscale 项目 代码 Native.cs SDHelper.cs MainForm.cs 下载  stable-diffusion.cpp 地址:https://github.com/leejet/stable-diffusion.cpp StableDiffusionSharp 地址:https://

    2024年04月14日
    浏览(35)
  • stable-diffusion画图

    1、在python官网 下载python3 安装 2、安装 CUDA 在安装 CUDA 之前查看nvidia版本 我的版本是11.6就在nvidia官网下载对应版本 3、在github中下载stable-diffusion-webui webui-user.bat以普通非管理员用户身份从运行 直到出现下面地址就代表运行成功 4、在浏览器输入127.0.0.1:7860生成图像 可以在h

    2024年02月11日
    浏览(31)
  • 安装stable-diffusion

    下载stable-diffusion源码 安装python 添加host 打开C:WindowsSystem32driversetchost 添加 修改launch.py 运行stable-diffusion-webui-1.2.1目录下webui-user.bat 安装时长较长,耐心等待 安装成功日志,主要是出现了地址“http://127.0.0.1:7860” 打开chrome,输入http://127.0.0.1:7860 python版本要为3.10.6版本,不

    2024年02月09日
    浏览(33)
  • 【深度学习】Stable Diffusion

    Stable Diffusion原理: https://zhuanlan.zhihu.com/p/632866251 https://zhuanlan.zhihu.com/p/613337342 源码中的模型:

    2024年02月11日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包