用到的工具aria2(类似于curl的下载软件用于后面下载模型文件)自行安装的依赖(就是把依赖中的硬骨头先一个个手动安装别的借助requirement.txt自动安装)pytorchcuda11.3号更新gradio3.8已经可以用pip正常下载用到的开源组件stable-diffusion(sd本体、webUI就是封装了个UI(当然还集成了一众优秀的功能)让我们能通过可视化界面而不是通过命令行参数使用SD绘画创作)BLIP(interrogateCLIP的依赖负责img2img中描述input图像内容并输入至prompt框)taming-transformers(stablediffusion的高分辨率图像的生成)k-diffusion(为SD提供samplers(采样器)SDE(随机微分方程)和ODE(常微分方程))midas(负责为sd深度模型提供支持)
更多详情请见
制作镜像封装了最新的webUI,内置所有依赖所需的权重文件(考虑到webUI在更换依赖到pytorch1.13.1后性能方面提升显著,也将迎来稳定期,所以做一个全面稳定的镜像方便自己和大家使用),内置anything4.5模型、常用vae权重文件、以及一些常用插件
无需任何编程基础注册autodl账号后直接照着下面视频使用教程操作即可完成部署使用的全过程
镜像链接
使用教程
注册autodl注册界面(新用户注册会送十块钱)选实例参照colab谷歌给我们白嫖的机器配置(autodl性价比推荐内蒙古A500024G显存)选镜像直接minicondapython3.8cuda11.3(2023.1.25更新已封装了webUI全套镜像内置所有依赖所需的权重文件内置anything4.5复制镜像创建实例后直接在webUI目录下执行启动命令即可启动镜像cuda11.7pytorch1.13.0)
StableDiffusionWebUi简称SDWebUi,webUI是一个基于Gradio库的StableDiffusion浏览器界面。
如需别的模型请自行替换(也可以多个并存,根据需要在画图过程中在页面左上角切换)位置一律放在/stable-diffusion-webui/models/Stable-diffusion/下
10.19号成功解决模型切换的问题后、现在可以控制相同promptseed,快速对照SDv1.4和NovelAI生成效果.
StableDiffusion1.4与NovelAI对照效果
因为这个链接下的是tar压缩包所以需要tarxf解压并rm删除压缩包(具体命令自行网上查阅)注意:最后ckpt一定要在/models/Stable-diffusion/目录下
tarxfanimefull-latest.tarrmanimefull-latest.tar
去HuggingFace去下载(注册账号同意条款然后就能看到下载链接)
CompVis/stable-diffusion-v-1-4-original·HuggingFace
runwayml/stable-diffusion-v1-5·HuggingFace
下面是运行程序的两种方法(10.18日更新:添加一种更好的方法,即利用autodl平台的公网ip映射服务来实现部署服务,无需借助gradio,强烈推荐)
为防止该服务被滥用、现在在autodl平台使用该服务需先实名制、所以使用时请合法合规
AutoDL为每个实例都预留了一个可对外暴露的端口,技术实现为将实例中的6006端口映射到公网可供访问的ip:port上,如果您自启动的服务带有Web网页那么点击访问后就可以打开Web网页。如果您启动的是API服务,那么通过打开的地址进行API调用即可(因为没有Web网页,打开后不会有任何网页显示)
1在终端中输入运行下列命令--port6006将程序部署在服务器本机的6006端口
2找到控制台界面,找到你实例的自定义服务按钮,点击访问即可进入autodl平台帮我们映射到公网的网站(之后可以从其他设备的浏览器访问这个网址来使用部署的绘画服务)
访问一个远程机器上没有公开的端口。这种情况下可以使用SSH隧道技术(或者叫端口转发)将所需的远程端口"转发"到你的本地机器,然后就可以通过访问自己机器的本地端口来使用远程程序的相应端口上的服务
限于篇幅控制、具体操作见下文中的具体演示
演示
如果你用的不是autodl平台,别的平台估计也有类似的公网ip映射服务(我猜的2333)如果没有而又想要通过URL给他人使用演示,就只能借助gradio这种方法了
在终端中输入运行下列命令
COMMANDLINE_ARGS="--medvram--always-batch-cond-uncond--share"REQS_FILE="requirements.txt"pythonlaunch.py
--share参数会得到一个以.app.gradio结尾的链接,这是在协作中使用该程序的预期方式。(不加--share没法远程使用)
2.访问上面的链接即可开始使用
Q:torchsde报错找不到合适版本A:torchsde是webui近期更新后增加的依赖可以去pypi上搜torchsde然后将安装包whl文件下到机子上然后pipinstall加刚才的whl文件名手动安装Q:系统环境混乱重置A:关机更换镜像再开机Q:报错未知参数scaleA:gradio更新到最新3.5Q:出现ERROR:pipsdependencyresolverdoesnotcurrentlytakeintoaccountallthepackagesthatareinstalled.报错A:不用管,倒数第三步解决该问题Q:换别的模型报错(10.19号更新)A:10.19号更新确定为之前版本StableDiffusionWebui的bug在StableDiffusionWebui路径下执行gitpull命令拉取最新版webui即可解决(估计是10.18号的官方更新代码中修复的)Q:每次重启机器后如何再次运行程序A:cd到webui路径下,输入最后那串命令(github加速export环境变量在当前终端关闭后会失效所以重启后需再次执行)Q:autodl系统盘占用特别多,不知道怎么回事就满了A:
Q:export环境变量加速github下载后,本地端口转发gradio安全性报错
A:到gradio源码里把检查判定逻辑那几行代码注释掉(每次gitpull更新webui前记得把注释取消)
为方便大家更新已全套打包上传百度云cp38linux和我环境一致可以直接下载安装
先卸载这三个然后在pipinstall加文件名本地安装
下载模型文件768-v-ema.ckpt
stabilityai/stable-diffusion-2atmain
2.把ckpt文件放入models/Stable-Diffusion路径下
3.下载SD2.0模型配置文件stablediffusion/configs/stable-diffusionatmain·Stability-AI/stablediffusion即下载下图中的v2-inference-v.yaml,并将其放在与检查点相同的地方(models/Stable-Diffusion路径下),重命名为相同的文件名(即如果你的检查点被命名为768-v-ema.ckpt,配置应被命名为768-v-ema.yaml),至此就可正常使用2.0模型(不过个人感觉效果不是很好)
(目前测试下来效果不错,下面是拿昨天训练的废稿做的测试,结合hypernetwork使用效果更佳,支持txt2img和img2img)具体可参阅此链接
插件使用界面(控制参数不变)同时开启美学权重和hypernetwork仅开启美学权重、不用hypernetwork