欢迎光临散文网 会员登陆 & 注册

MacBook Pro部署Stable Diffusion WebUI笔记

2023-06-04 21:43 作者:悄悄画剧社  | 我要投稿

这两天试着在MacBook上装了一下SD,遇到了一些PC上没遇到过的问题,因此想留个笔记方便大家遇到类似情况的时候可以查看。苹果笔记本硬件信息如下,核心芯片Apple M1 Pro,内存16GB,图形卡核总数16。苹果本一开始上手有些不习惯,用了一段时间以后自己感觉是续航性还不错,发热起来也不会像烫山芋。

苹果官方发布的能耗对比图


前期准备了如下2样,本次没有安装Homebrew:

git版本2.37.1(Apple Git-137.1)

Python版本 Python3.10.6,安装方式为官网下载安装包安装。我看很多大佬都不是这个版本,估计后续可能还要升级它。

参考视频和安装思路主要都是来自大佬Nenly同学的教学和一键部署包,真的是非常感激不然我自己肯定是装不上去的,视频地址也贴一下,一键包的网盘地址在原视频下面的评论区大家有需要的话可以自己去看:

https://www.bilibili.com/video/BV1Us4y1X75d/?share_source=copy_web&;vd_source=1fae8fa587e8773e24b64fcdd27d275f

同时也参考了另一位大佬程序猿小王Monkey-King的教学视频,视频地址也贴一下:

https://www.bilibili.com/video/BV1vX4y1k7d4/?share_source=copy_web&;vd_source=1fae8fa587e8773e24b64fcdd27d275f

我这次的安装步骤是这样的:

1 使用“前往 > 个人”,在打开的目录里自己新建了一个英文名的文件夹

2 右键点击这个新建的文件夹,在弹出菜单里选择“新建位于文件夹位置的终端窗口

3 这样就会打开终端窗口了,直接输入如下内容回车开启在线下载

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

4 普通网络下这个下载过程需要等待一段时间,跑完以后在第2步新建的文件夹里面会出现一个stable-diffusion-webui的文件夹。原生的web ui框架就都在里面了。关闭终端窗口。

5 双击进入stable-diffusion-webui文件夹,找到重点文件launch.py,重命名或者挪走都可以,但是不要删除,后面还要用。py格式的文件都可以右键选择“打开方式 > 文本编辑”打开。原生的launch.py里面的内容很少,缺乏很多必需的组件的引导下载。因此这里需要用到大佬Nenly同学的苹果版一键部署包里面的同名文件来替换原生文件,解压一键部署包,找到里面的launch.py,拷贝它到刚才原生launch.py的位置。为了确定你复制过来的launch.py是不是正确,可以右键打开看一下,会发现里面的内容明显比原生文件多了很多。第一行就是一条注释说明了这个launch.py的用途:

# this scripts installs necessary requirements and lanunches main program in webui.py

6 这次右键点击stable-diffusion-webui文件夹,在弹出菜单里选择“新建位于文件夹位置的终端窗口”。

7 在打开的终端窗口里输入如下内容回车开启运行webui

   ./webui.sh

于是在原生webui.sh和大佬版launch.py的加持下,stable-diffusion-webui的进程终于开始跑了。

到这里有人可能会问那为什么不直接使用一键部署包的所有文件完成安装,搞得这么迂回。这是因为我遇到的情况是直接在解压后的一键部署包内容里运行webui.sh我的终端就报错卡住了。原因是什么我也不知道,于是我走上了用原生launch.py和大佬版launch.py互搏完成安装的奇怪道路。

8 在等待过程中我复制了一键包的路径stable-diffusion-webui\models\Stable-diffusion里的两个safetensors格式的Checkpoints大模型文件到我自己的原生stable-diffusion-webui相同目录里。因为这两个文件很大,如果等安装进程发现没有大模型文件自己去下载那就有够好等。

在进程走到installing gfpgan之后就没有进度条了,于是我就去睡了,苹果本开了一宿,第二天起来看发现卡在获取某个github.com里的内容上了,关闭终端重新开启运行webui.sh就顺利过了。隔一段时间后又出现了报错,报错信息内容很多这次我没看懂,但是可以确认不是哪个组件无法下载的问题。这时候大抵是附加组件的进程走到了尽头,需要换回原生launch.py替换掉大佬版launch.py了。

9 关闭终端,移除大佬版launch.py,拷贝原生launch.py回到stable-diffusion-webui文件夹。重复第6和7步骤,运行webui.sh。这次终于成功部署完stable-diffusion-webui看到界面了。

10 一生图就报错。报错信息如下:

 RuntimeError: "unsample_nearest2d_channels_last" not implemented for ‘half’

问题的解决之道在于webui-user.sh

右键以文本编辑打开原生webui-user.sh,在文档前面几行里就可以找到这行内容:

#export COMMANDLINE_ARGS=""

这行内容需要改为:

export COMMANDLINE_ARGS="--no-half --skip-torch-cuda-test"

注意前面的#要删掉!

更保险的方法是用大佬版webui-user.sh直接替换掉原生webui-user.sh

11 正常出图,安装部署完成。之后可能还会遇到其他问题,如果补充我会续在后面。

MacBook Pro部署Stable Diffusion WebUI笔记的评论 (共 条)

分享到微博请遵守国家法律