安装Homebrew

Homebrew是Mac下常用的包管理工具,说白了就是一个软件管家,后续我们要安装一些工具,如果一个个装会比较麻烦,通过Homebrew一行命令就可以搞定,首先打开mac终端(如果你不知道怎么打开,在Mac上搜索终端就行),官方的安装方法就是在终端上执行以下命令

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

这里不建议使用官方方法进行安装,原因是安装完软件源在国外而去很多是无法访问,无法顺利安装后续的工作,这里安装国内移植过来的版本

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

执行命令后,会让你选择镜像源

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

               开始执行Homebrew自动安装程序
             [cunkai.wang@foxmail.com]
          ['2023-10-18 23:15:16']['12.5']
       https://zhuanlan.zhihu.com/p/111014448


请选择一个下载brew本体的序号,例如中科大,输入1回车。
源有时候不稳定,如果git克隆报错重新运行脚本选择源。
1、中科大下载源
2、清华大学下载源
3、北京外国语大学下载源
4、腾讯下载源
5、阿里巴巴下载源
6、跳过下载brew去配置下载源
请输入序号:

根据经验,中科大下载源速度比较快而去比较稳定,建议选择中科大,如果选择中科大,输入1按回车,然后软件会自动安装,最后步骤会让你选择是否要安装一些默认的工具,忽略即可。

安装工具

如果Homebrew顺利安装完,就可以开始安装相关工具,同样在终端执行以下命令即可

brew install cmake protobuf rust python@3.10 git wget

安装时长视网络情况而定,大概需要10-20分钟。

设置pip仓库

pip是python包管理工具,Stable diffision会通过pip安装依赖,下载源默认也是国外的,速度慢,需要配置成国下载源,打开~/.pip/pip.conf文件,修改为以下内容,如果文件不存在则创建一个

[global]
timeout = 6000
index-url = https://mirrors.aliyun.com/pypi/simple/
trusted-host = mirrors.aliyun.com

下载代码

找个本地文件夹,执行以下命令将Stable diffision代码下载到本地

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
考虑到后续会在线安装一些包,建议开启VPN进行科学上网,否则大概率无法顺利安装

运行代码

打开终端,切换到代码目录下,运行webui.sh脚本,脚本会进行初始化化启动系统

cd ~/github/stable-diffusion-webui
./webui.sh

第一次启动会下载依赖,这个过程会非常漫长(我大概下载了2个小时)而且要在科学上网和正常网络之间来回切,原因是脚本在执行的过程中会下载github上的一些库,这时候就要科学上网不然大概率是下载不下来,但有时候又要下载python依赖,因为我们配的是国内的下载源,这时候科学上网就会变得很慢,又要切回正常的网络,切网络时最好停止脚本,切完网络后重新执行脚本(已经下载的内容不会重新下载)。

当显示Clone ....时就是去github上下,此时建议开启VPN,最后一步Installing requirements需要相当长的耗时,而且没有进度条,一度我以为是挂掉了,实际这时候下的是国内的依赖,就是依赖有点多耗时比较长。

我安装的这个版本最后会自动下载一个大模型

Downloading: "https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors" to /Users/zhengjianfeng/stable-diffusion-webui/models/Stable-diffusion/v1-5-pruned-emaonly.safetensors

这个大模型有4个多G,而且需要科学上网,你可以终端脚本执行,自己通过浏览器或者其他工具下载下来后,手动放到终端显示的目录下,因为脚本没有显示下载进度,这么大的文件你也不知道是没下完还是挂了,所以还是建议手动下。这个模型下完后就顺利启动了,脚本会自动打开浏览器进入系统。

系统虽然正常启动了,但在绘图时报了下面的错误

RuntimeError: "upsample_nearest2d_channels_last" not implemented for 'Half'
Time taken: 0.9 sec.

解决方法:打开代码目录下webui-macos-env.sh文件,将下面这行命令

export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu interrogate"

修改为

export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae --no-half --use-cpu interrogate"

重启启动就能正常运行。

下载模型

Stable Diffision只是一个程序,绘图需要模型的支撑,上面提到SD会自动下载v1-5-pruned-emaonly.safetensors这个模型,那我们能能不能自己下载别的模型丢给SD呢,当然是可以的,目前提供大模型分享的平台有很多,比较有名的有以下几个:

我们以huggingface为例,我们下载https://huggingface.co/Onodofthenorth/SD_PixelArt_SpriteSheet_Generator这个模型到本地,这个模型可以生成像素风格的绘画,下载完后将模型放到代码目录的stable-diffusion-webui/models/Stable-diffusion文件夹下,然后重启SD,然后就能看到我们刚才下载的模型

image-20231019001315469

我下载的这个版本有点奇怪,会在home目录冲洗克隆一份代码,我需要将模型放到home目录下的那份代码里,我不知道是不是我设置的有问题,如果你看不到模型不妨看看是不是恨我一样的问题

下载Lora

Lora也是一个模型文件,和上面的大模型不同的时,Lora体积一般很小只有几百兆,而checkpoint文件一般有几个G,你可以理解为checkpoint是数据集,Lora只是对这些数据集进行微调的规则,多个Lora可以同时使用,会有很奇妙的化学反应。上面提到的三个AI模型分享站点也同样提供Lora文件下载,下载后将Lora文件放在stable-diffusion-webui/models/Lora下,然后重启SD,在界面上切回到Lora页面就能看到,点击下就能使用

<img src="/Users/zhengjianfeng/Library/Application Support/typora-user-images/image-20231019002040697.png" alt="image-20231019002040697" style="zoom:50%;" />

开始绘图

终于到激动人心的时刻,我们开始绘制我们的第一张图,我这里选了下面关键词,因为我主要是想用SD制作一些游戏素材,所以我用了一些像素画的模型

Create an 8-bit style pixel art character sprite sheet to showcase Chinese Xianxia game characters, each character showing 4 view,front view,back view,side left view,side right view. Visualize them as if they were custom-made game sprites for a retro-style Chinese Xianxia themed game.

下面是SD制作的图片

image-20231019002423500


DQuery
300 声望93 粉丝

幸福是奋斗出来的