距离上次AI绘图stable-diffusion的Docker已经都过去了近一年,SD已经进化出了太多的功能,原来的stable-diffusion-guitard这个DOCKER作者更新太慢,而且后来的LORA功能一直能有跟上,耽误了AI美图的诞生。很多机主现在都在自己家里装上了NAS,而NAS很多又是安装的UNRAID,而仅仅需要一块自己加装风扇的英伟达的特斯拉P4,一般X鱼上面就400元左右。就可以体验到XSP的创作,同时还兼顾了NAS播放电影的解码,超值。
当然这里不是介绍NAS一定需要一块显卡,而是要做一个合格的AI绘图的话,是必须要一块400元以上的8G显存的显卡才可以的,不然就别看了。
离题远了,还是说正题,UNRAID作为主机的操作系统,新的stable-diffusion的DOCKER现在都是只提供环境,每次启动都是拉取最新版的stable-diffusion,好处就是一直都是新版,坏处就是没有魔法没法使用。
魔法就去看看阿文菌,我是在他那里入门的UNRAID,也在那里学会了如何ALLINBOOM。
有UNRAID又有了ALLINBOOM的,可以直接抄作业了。
新建DOCKER,就是添加容器。
名称当然直接命名
stable-diffusion
存储库:holaflenain/stable-diffusion:latest
额外参数(这可是重点)--runtime=nvidia--restartunless-stopped
网络类型Bridge.
控制台Bash
不用开启特权。
然后容器持久化,毕竟不想每次都重新下LORA包吧,
程序路径容器路径/opt/stable-diffusion主机路径/mnt/user/appdata/stable-diffusion
然后就是输出路径容器路径/outputs主机路径/mnt/user/appdata/stable-diffusion/outputs
然后就是变量名称WEBUI_VERSION键WEBUI_VERSION值02
因为我是希望使用原版的SD,可以分别有01、02、03的三个值可以设置的。
01:EasyDiffusionwebUI
02:StableDiffusionwebUI
03:InvokeAIwebUI
接着就是显卡的设置变量名称NVIDIA_VISIBLE_DEVICES键NVIDIA_VISIBLE_DEVICES值只有一个显卡的就all
最后一步就是端口转发了。名称端口映射容器端口9000,主机端口29000,因为我的9000端口是已经被占用了,所以要设置为29000,大家可以随便,链接类型TCP,不用改。
然后就点击完成,开始拉取DOCKER,构建环境,拉取SD,然后开始启动,IP:29000就可以进入页面了。
下面接着说,如果没有那么好的环境,那就只能使用含有模型和SD的DOCKER,但是很可能有错误,因为毕竟每个人的机器都存在差异,而仅部署环境再根据环境安装的SD是最适合自己机器的DOCKER的。
需要在环境中添加API的,就需要存储库改为kestr3l/stable-diffusion-webui:1.2.2
#Commandlineargumentsforwebui.py,forexample:exportCOMMANDLINE_ARGS="--medvram--opt-split-attention"
exportCOMMANDLINE_ARGS="--listen
--enable-insecure-extension-access
--xformers--skip-torch-cuda-test
--styles-filestyles/styles.csv
--no-download-sd-model
--api"
外观展示
使用感受
确实很方便,不受限制,不用给钱。显卡400多元,真是划算。现在400元吃顿饭都不够,现在拥有的是一个特别靠谱的助手,而且任何你想要的,都可以为你自己做到。还可以更加丰富一点的投入更换为P40,自己的ChatGPT就可以达到基本要求了,AI画图和ChatGPT可以同时运行于一块P40显卡,因为24G显存基本是够用了,还能平时用于解码H256,当然,P40太大了,一般的NAS是装不下的,还有一点,就是需要内存很大,调用模型和跑图的时候,内存占用有时候能够达到10G以上。
总结
我喜欢DOCKER的原因是可以不考虑环境,我是一个拿来用的人,我也不是一个编程的,我需要的是使用。
下一篇,再来一个UNRAID如何自己的服务器跑自己的GPT-3.5,毕竟不是每个人都能够拥有OPENAI的ID的,那么跑在自己UNRAID下的ChatGPT就很有用了,特别对部门心得体会,一句给我20个有关XXXX的心得体会,每篇不少于200字,这种时候,文言一心和心火都会说这是受限制的,只有自己的服务器才靠得住。
缺少的图片,我将近期再补上,家里的笔记本电脑屏幕太小了。