在本地部署Novel AI,过程记录与踩过的坑,以及爆显存的解决方法

电脑配置
CPU: AMD Ryzen 5 4600H with Radeon Graphics 3.0 GHz
GPU: NVIDIA GeForce GTX 1650(专用显存4G,共享显存7G)
OS: Windows 11

前言

最近AIGC应用大火,终于也是按耐不住自己好奇的心,开始探究和使用Stable Diffusion这一AI绘画工具。

Novel AI是二次元作画网站,传出了模型泄露的消息,简而言之就是能够使用她已经训练好的(泄露的)模型信息生成自己想要图片了,当然是偏二次元风格的。本身是基于Stable Diffusion Webui这一框架,所以要首先能够部署Stable Diffusion Webui。

部署的方式可以分为本地部署和云端部署,云端部署可以参考上一篇文章:

http://t.csdnimg.cn/vq9nx

这次讲本地部署(在自己电脑上部署),好处是不受算力或价格的制约,坏处是时间长,出一次图要1~2分钟。

一切基于stable diffusion的 github 仓库,我这里把他写成中文的教程。
确保你能上这个网址:
https://github.com/AUTOMATIC1111/stable-diffusion-webui

第一步 环境准备

首先,安装python 3.10.6(版本最好保持统一),在以下网址:
https://www.python.org/downloads/release/python-3106/
重要:安装的时候选择
“Add Python to PATH”
这个选项。

其次,安装git,在以下网址:
https://git-scm.com/download/win

然后,打开你的命令行(win + r键),里面输入“cmd”,回车
在这里插入图片描述
或者说,直接在开始菜单搜“终端”,打开命令行就行
在这里插入图片描述

运行以下git 命令,把仓库里的代码拉下来:

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

为了防止有人还搞不定,仓库里甚至还有视频教程,我把它下下来了:
链接:https://pan.baidu.com/s/1eq2Y_enK4mp3Yu9n29iqNQ?pwd=j91f
提取码:j91f

一般git 拉下来了都放在C盘,我选择把整个文件夹移动到D盘去。

双击文件夹下的webui-user.bat 文件就可以了,之后就是等待pytorch的下载和依赖的安装。中间会显示

重点:打开你的“魔法“(什么什么墙什么什么软件),全程开着,免得中间突然断了,前功尽弃。当然,即使开着也可能有子仓库拉不下来(比如这个:https://github.com/sczhou/CodeFormer/),这里我是这么解决的:

https://zhuanlan.zhihu.com/p/636418854

即修改代理配置为自己的端口号和站点。

剩下就是漫长的等待,我差不多等了一下午。

第二步 运行

再次运行webui-user.bat,又加载了一些东西,然后就能看到已经成功跑起来了,浏览器访问提示的URL即可,现在最新的版本是好像可以自己弹出来了。
在这里插入图片描述
以为这就完了?

没有,重点来了,运行的时候报错,out of memory,

RuntimeError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 4.00 GiB total capacity; 0.0 MiB already allocated; 3.4 GiB free; 204.00 MiB reserved in total by PyTorch)

但是我开了任务管理器,发现根本没有用到正确的显卡,显存也显示还有余量,这时我找到了以下七种方法解决(原帖地址:https://nerdschalk.com/stable-diffusion-cuda-out-of-memory/#:~:text=In%20case%20you%E2%80%99re%20still%20running%20into%20the%20%E2%80%9CCuda,onto%20the%20stable-diffusion-main%20folder%20to%20resolve%20the%20error.)

而我尝试到第二种之后就好了:

1、重启你的系统

2、安装Anaconda 和 Nvdia CUDA Toolkit

虽然不知道什么原理,但是确实安装完之后就可以运行了!!!

附上下载地址:
https://www.anaconda.com/download/
https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=11&target_type=exe_local

注意在安装cuda的时候一定要选择对应版本!!!
搞不懂的话,还有教程,但是在youtube上:
https://www.youtube.com/watch?v=OjOn0Q_U8cY

10和11的意思是win10还是win11

3 使用其他版本的stable diffusion

优化版本的地址:
https://github.com/basujindal/stable-diffusion

把优化版本的sd下下来,直接把内容复制到旧的里面覆盖就行了。

4 调低生成图片的要求

这个主要是针对在生成图片过程中的out of memory

5 减少采样(sample)尺寸到1

在提示词里面输入”-n_samples 1“

6 检查GPU显存(换显卡)

推荐GPU 显存至少6G,虽然实际4G也能玩,再小就会使SD的程序锁定使用的GPU显存量,也许就直接变成CPU再工作了。

7 在webui-user.bat文件里面加入优化的命令选项

用记事本打开webui-user.bat文件(不是直接双击),就可以编辑这个文件的内容
在里面加入:
在这里插入图片描述
解决问题的原理是缓解显存碎片化。详细的方法建议参照github issue区的提问。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值