如果你想本机运行 Stable Diffusion 画图,stable-diffusion-webui 可能是最佳选择之一。
安装配置它的过程看 https://github.com/AUTOMATIC1111/stable-diffusion-webui 页的Installation and Running部分。
我是在2015年的MacBook Pro本上(Intel Core i7)安装的,碰到下面几个问题:
Couldn't install gfpgan
这个错误是:无法下载 GitHub 的源码,我们可以通过 ghproxy.com 代理下访问 GitHub。其他类似 Couldn't install XXX 的报错应该都是这个原因。
ghproxy 是一个 GitHub 代理加速服务,它可以帮助您快速下载 GitHub 上的文件。
具体操作步骤:
-
在你的 stable-diffusion 主目录,找到 launch.py 文件。
-
修改 prepare_environment 函数,在每个
https://github.com/
开头的链接前面添加https://ghproxy.com/
,变成如下图所示的https://ghproxy.com/https://github.com/
格式开头。
注意所有都要修改。
- 保存后,再去运行
./webui.sh
即可。
参考:
https://www.bilibili.com/read/cv19991459
RuntimeError: "LayerNormKernelImpl" not implemented for 'Half'
除了 CUDA 以外的 PyTorch 都不支持半精度,所以每次运行时都要加一些 flags。
我这里由于笔记本老,又增加了其他一些参数:
我这里是 Mac 的,修改的是 webui-user.sh 文件, Win 的是修改 webui-user.bat 文件
export COMMANDLINE_ARGS="--skip-torch-cuda-test --precision full --no-half"
-
-–skip-torch-cuda-test:这个参数是用来跳过检测 torch 是否能使用 GPU 的,如果您的 CUDA 和 torch 版本不匹配,或者您的电脑没有 CUDA GPU ,可以使用这个参数来绕过这个检测。
-
-–precision full:这个参数是用来指定 torch使用全精度(32位)的浮点数来运算的,相比于半精度(16位)或混合精度(16位和32位),全精度可以提高运算的准确性,但也会增加运算的时间和内存消耗。
-
-–no-half:这个参数是用来禁止 torch 使用半精度的数据类型的,如果您的显卡不支持半精度,或者您遇到了 "LayerNormKernelImpl" not implemented for ‘Half’ 的错误,可以使用这个参数来解决。
参考:https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/5232
其它参考资料
修改了上面,应该就可以运行了,下面给一个 Prompt。
masterpiece, best quality, 1girl, white and green hair, red buttons, blue hair, short hair, ahoge, transparent sleeves, light smile, ocean, firework, incredibly absurdres, artbook
Negative prompt: lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry
Steps: 24, Sampler: DDIM, CFG scale: 11, Seed: 1594337505, Size: 512x512, Model hash: ab21ba3c
生成效果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
2016-04-19 分析服务器上的堆内存
2016-04-19 VisualVM 的 OQL 的一些例子
2013-04-19 WebSocket协议
2013-04-19 Centos下安装Golang
2013-04-19 Golang的跨平台编译程序
2013-04-19 Mac下使用ssh、scp