(可以用羽翼城大大的steamcommunity302,勾选github访问后开启服务解决)
此处的部署方式采用AUTOMATIC1111大大制作的webui,更新快,功能多
部署方案综合了很多大佬的教程以及自己的探索,不保证一定是最简便的,但应该是对计算机环境影响比较小的。
AUTOMATIC1111的webui的github工程链接:https://github.com/AUTOMATIC1111/stable-diffusion-webui
太长不看类:
将webui的仓库clone下来
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
放入想要使用的模型
创建并激活虚拟环境后将anaconda prompt转移至\stable-diffusion-webui目录下输入
python launch.py
即可运行。这个省略了后续的人工clone操作,交给脚本处理
1.前置需求
A.安装anaconda
Anaconda记得不要勾选添加环境变量。
Anaconda安装结束后打开
如果输入conda –version返回conda 的版本号,并且输入conda list出现如下图,及说明安装成功。
B.安装CUDA
先打开英伟达控制面板-帮助-系统信息-组件查看CUDA版本
去英伟达官网下载与之对应的toolkit。网址为https://developer.nvidia.com/cuda-toolkit-archive
根据自己的操作系统选择合适的解决方案
安装完成后在cmd中输入 nvcc -V 如果返回CUDA工具的版本即为安装成功。具体如下图
C.下载git
从git官网(https://git-scm.com/)选择download for windows,安装时勾选右键菜单出现git,即
至此准备工作完成。
2.部署stable-diffusion到本地
选择一个你想把工程放在哪里的目录,并在那个目录下选择 在终端中打开(如果没有此选项,可选择git bash here)
在弹出的窗口中输入:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
静待其部署完成即可。
完成后会产生一个新的名为stable-diffusion-webui的文件夹。
打开\stable-diffusion-webui\models\stable-diffusion目录,此处为各种模型的存放处。
需要预先存放一个模型才能正常使用。
3.使用anaconda进行webui的创建
使用管理员权限打开下图应用程序
使用代码创建虚拟环境路径:
conda config --add envs_dirs W:\SoftWare\Anaconda\envs //此处自行更改为对应的虚拟环境路径,一般在Anaconda根目录下 conda config --add pkgs_dirs W:\SoftWare\Anaconda\pkgs //此处自行更改为对应的虚拟环境路径,一般在Anaconda根目录下
创建完成后将conda的操作环境换入\stable-diffusion-webui目录下,示例代码:
此时,conda 的环境应该在\stable-diffusion-webui 下了,如图:
使用如下代码创建虚拟环境配置(以下配置一定要在\stable-diffusion-webui下进行):
conda env create -f environment-wsl2.yaml //创建环境,默认环境名称为automatic activate automatic //切换为automatic环境 mkdir repositories //创建其他仓库父目录
克隆Stable-diffusion等仓库,注意目录层级结构,git clone的操作是在stable-diffusion-webui目录做的,因此下面这些仓库都是存放在stable-diffusion-webui/repositories/*
git clone https://github.com/CompVis/stable-diffusion.git repositories/stable-diffusion git clone https://github.com/CompVis/taming-transformers.git repositories/taming-transformers git clone https://github.com/sczhou/CodeFormer.git repositories/CodeFormer git clone https://github.com/salesforce/BLIP.git repositories/BLIP git clone https://github.com/openai/CLIP.git repositories/CLIP
待上述命令完成后,输入下述命令安装其他依赖:
pip install transformers==4.19.2 diffusers invisible-watermark --prefer-binary pip install git+https://github.com/crowsonkb/k-diffusion.git --prefer-binary pip install git+https://github.com/TencentARC/GFPGAN.git --prefer-binary pip install -r repositories/CodeFormer/requirements.txt --prefer-binary pip install -r requirements.txt --prefer-binary pip install -U numpy --prefer-binary
至此便具有了基础运行功能。
4.运行webui
运行程序(此处指从零开始):
以管理员身份打开anaconda prompt,初始界面如图:
输入以下指令:
activate automatic //激活automatic环境 cd N:\stable-diffusion-webui //自行替换为对应目录 N: //更改盘符
上述指令的结果如图,注意base已经更改为automatic字样:
之后输入:
python launch.py //启动webui部署
出现下图所示字样即算成功。
此时可以在浏览器页面输入127.0.0.1:7860或localhost:7860打开webui。
在Settings选项卡中下拉找到Stable Diffusion分项,在checkpoint选择自己放入的模型;支持hypernetworks的模型可以把hypernetwork选择对应的配置文件。 之后点击Apply Settings即可开始使用AI作图功能。
5.额外功能
如果想让局域网内其他机器也可以访问,那么请更改如下命令:
在webui.py的第100行中,将
server_name=0.0.0.0 if cmd_opts.listen else None,
改成
server_name="0.0.0.0,
并保存。(局域网内的其他机器则是输入机器的IP地址:7860.例如192.168.1.3:7860)
模型汇总:https://rentry.org/sdmodels
常见二次元模型为NovelAI,Waifu Diffusion,TrinArt。不同的模型会有自己的额外关键词。
Stable-Diffusion官方模型:https://huggingface.co/CompVis/stable-diffusion-v-1-4-original (需要注册并登录hugging face。)
Extra分项:
可使用GFPGAN,ESRGAN等模型用于其他作用。例如GFPGAN可修复脸部,ESRGAN用于放大图片。
GFPGAN v1.4:https://github.com/TencentARC/GFPGAN/releases/download/v1.3.4/GFPGANv1.4.pth
下载后放入stable-diffusion-webui/models/gfpgan目录下。
RealESRGAN X4PLUS ANIME 6B: https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth
下载后放入stable-diffusion-webui/models/realesrgan目录下。需要在settings里设置让其显示才可以用。
之后再EXTRA选项卡中可以勾选对应模型进行额外操作。
更新webui库:
在\stable-diffusion-webui目录下运行:
git pull //拉取新代码 pip install -r requirements.txt //更新依赖库。
混合两个模型
Checkpoint merger中可以将两个模型融合为一个新模型。调节interpolation amount即可改变内插度,混合比例。生成的模型会自动存储在模型文件夹中。
利用script生成图片
在script下拉框中选择不同的script可以生成不同的图片,比如x/y plot可以生成由一个参数决定的几种不同的图片。
6.常见BUG的解决方法:
1.非绿厂的显卡无法使用CUDA,则AMD与核显只能使用CPU进行计算,此时消耗CPU与内存。
2.早期的显卡与笔记本端的MX系列显卡不支持半精度运算,出现黑屏,绿屏等现象:
Download cudnn libraries from NVIDIA site, version > 8.2.0 (I have tested 8.5.0.96 and 8.3.3.40)
Place them into your torch installation: conda\envs\automatic\Lib\site-packages\torch\lib
Place missing dependency zlibwapi.dll to the same folderor-
Update torch to version including new cundnn : e.g. torch==1.12.0+cu116
After that you should get black image instead of green, that mean you are on the right wayAdd following lines to txt2img:
torch.backends.cudnn.benchmark = Truetorch.backends.cudnn.enabled = True
After that you should get normal images, not green and not black
(github上有人是这么解决的。本人不是16系的卡所以没试过上述的解决办法)
或者
在启动的时候加上后缀–precision full –no-half也可以解决
3.Nvidia系显卡运行时出现 Torch is not able to use GPU ,无法进行部署:
首先确认自己装了CUDA TOOLKIT.(作者的CUDA版本是CUDA11,不保证其余CUDA版本是否能够正常工作,有条件可以升级到CUDA11)
之后在pytorch官网查询与CUDA兼容的pytorch版本(CUDA11.7可以当作CUDA 11.3处理)
之后打开anaconda prompt,activate automatic后输入
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
更新conda已有的pytorch和其他驱动包。
如果出现无可供写入的包环境,那么请将pkgs文件夹的权限从只读改为可读可写。
更新后执行下图命令:
4.出现SSL certificate problem: unable to get local issuer certificate 错误
执行
git config --global http.sslVerify false
即可解决。
5.出现RuntimeError: "LayerNormKernelImpl" not implemented for ‘Half’:
非N卡和某些N卡会出现这个错误。解决方案为
1.在启动的时候加上后缀–precision full –no-half 使用此条命令即让CPU进行AI运算
2.按照问题3中的步骤安装与CUDA兼容的pytorch并检测是否能够正常使用。
6.低内存出现错误:
启动时加上后缀:–medvram或者–lowvram(取决于显存大小,2GB用low,4GB-6GB用med,更多可以不加)
7.如何查看AI是用GPU在运行还是CPU在运行:
A卡和核显理应是在用CPU和内存运行的,因为缺少CUDA。
而N卡则可以在任务管理器的GPU分项中将任一选项改成CUDA,在运算时如果CUDA有占用,则torch正常调用了GPU在进行计算,此时使用GPU和显存。
如果没有CUDA选项,请在windows设置中关闭硬件加速GPU计划后重启电脑。
0 条评论。