在Mac系统下配置使用Stable Diffusion
前言
目前使用Stable Diffusion跑图,最高效的方式都是使用Nvidia的显卡来跑,以至于目前大部分工具的整合包都是基于Windows + Nvidia显卡来制作的。这导致对于已经不能使用Nvidia显卡的Mac用户而言,想学习Stable Diffusion就只能选择换电脑或者租用云端显卡。无论选择哪一种方式,无疑都提升了入门Stable Diffusion的成本。
其实Stable Diffusion完全支持在Mac系统下使用CPU来跑图,只是速度会很慢,不过我觉得只是学习入门并不会有太大的问题,搞清楚概念和熟悉操作以后,再去租云端显卡就好了,以免在云端上学习浪费钱。本文将介绍如何在macOS系统下配置WebUI来使用Stable Diffusion,演示的macOS系统版本为macOS 14.2.1
。
准备工作
由于Stable Diffusion是属于开源的大模型,并不像商业模型那样提供了很易用的工具让我们直接调用,而是需要我们自己去准备运行它的环境。毕竟是免费的,势必会麻烦一些,对比商业模型动辄20美元/月的价格,这点麻烦我觉得完全可以接受。所以在开始部署Stable Diffusion之前,我们需要先准备好运行环境。
使用终端安装HomeBrew
Stable Diffusion需要的运行环境都是一些命令行软件,手动安装会比较麻烦,Mac用户建议安装HomeBrew这个软件包管理工具进行统一的安装和维护。首先我们需要打开终端
,默认路径是应用程序->实用工具->终端
,之后通过终端执行命令,安装HomeBrew。
打开终端
- 打开
访达(Finder)
,在左侧菜单中选择应用程序(Applications)
,然后找到实用工具(Utilities)
文件夹,双击打开。
- 双击打开
终端
- 显示如下界面的终端窗口,即表示成功打开终端。
显示终端界面以后我们就可以开始安装HomeBrew了,不过由于HomeBrew使用的是国外服务器,国内用户大概率会遇到无法连接的情况。因此,这里提供两种安装方式,请根据自己的网络情况选择如何安装:
通过官方脚本安装HomeBrew(非大陆地区或有梯子)
如果你不在大陆,或者你会搭梯子,那推荐使用官方脚本来安装HomeBrew,这样是最稳定的。使用官方脚本安装,只需要在终端界面中输入下面的命令,执行后即可开始安装HomeBrew,安装步骤如下:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
1.在终端中输入安装命令,并按下回车键;
2.由于HomeBrew的安装路径需要用户授权才能访问,所以这里需要输入 管理员密码(开机密码) 来给予权限,输入密码后按下回车键即可继续安装;(注意:此时输入密码是不显示任何字符的,输入完毕后按下回车键即可继续安装。)
3.这里提示需要安装Command Line Tools,直接回车安装,然后耐心等待安装完成即可;
4.显示如下界面就表示HomeBrew已经安装完成,这里提示我们还需要设置一下环境变量;
5.复制提示的两行命令到终端中,执行后即可设置好环境变量。到此,HomeBrew的安装就完成了,关闭终端窗口即可。
(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/uncle6/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
通过国内镜像安装HomeBrew(大陆地区网络)
国内有很多科研机构和科技企业都搭建了HomeBrew的镜像源,每一个镜像源的速度和稳定性都有所不同,这里推荐使用Gitee上面 CunKai/HomebrewCN 的脚本来安装HomeBrew,该脚本集成了5个最常用的镜像源,我们可以根据自己的网络情况和需求自由选择镜像源来安装HomeBrew(不过我个人还是更建议去想办法搭个梯子,用上一个方法安装,不然以后很多资源的获取都是问题,有个梯子全都能解决)。下面我们使用该脚本,通过 清华大学HomeBrew镜像源 来安装HomeBrew,步骤如下:
1.在终端中输入下面的命令,并按下回车键;
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
2.这里会提示你选择一个镜像源,我们选择第二个,清华大学下载源;
3.这里会提示你输入 管理员密码(开机密码),我们输入后回车即可;(注意:此时输入密码是不显示任何字符的,输入完毕后按下回车键即可继续安装。)
4.这里询问是否安装Core、Cask、services,我试过选择清华大学的镜像,可以正常安装。但是选择腾讯或者阿里云的镜像,可能会卡主没有反应,或者提示错误。如果只用来安装运行Stable Diffusion的环境的话,这里安不安装无所谓,大家看个人需求来决定即可; (由于我之前为了截屏官方安装流程,已经安装了Command Line Tools,所以这里没有提示安装Command Line Tools。如果此时有提示安装的话,按提示操作安装即可。)
5.这里需要选择一下之后安装软件包时使用的国内镜像,我还是继续选择清华大学;
6.显示这个界面,就表示HomeBrew已经安装成功了,关闭终端窗口即可。
通过HomeBrew安装Python、Git等工具
HomeBrew安装好之后,我们就可以通过HomeBrew来安装Python、Git等工具了。首先我们重新打开一个终端窗口,在窗口中执行下面这行命令来更新软件源:
brew update
如果是刚刚完成HomeBrew的安装,那终端窗口应该会提示Already up-to-date
。如果提示出一些软件的更新信息,也可以根据需要更新,这里我们先不考虑。
接下来我们执行下面这条命令,来安装Python、Git等工具:
brew install cmake protobuf rust [email protected] git wget
终端窗口再次显示光标后,就表示安装已经完成,关闭终端窗口即可。到此,运行Stable Diffusion的环境就已经安装好了。
部署Stable Diffusion
Stable Diffusion的大模型可以直接在命令行里操作,但对大部分人而言肯定不会希望这么干。这里就需要安装一个图形化的界面,来方便我们操作Stable Diffusion。目前Stable Diffusion主流的图形化界面有两个,一个是 stable-diffusion-webui (后面简称WebUI)和 ComfyUI ,两种界面各有优缺点。因为WebUI的学习门槛相对低一些,这里我们选择安装WebUI。
获取WebUI项目
由于WebUI项目托管在Github上,所以这里又和安装HomeBrew一样存在网络问题。如果使用非大陆网络或有梯子的朋友,强烈建议使用在终端使用命令的方式来安装WebUI项目,这样项目后续有更新的时候,只要执行git pull
命令,就可以将WebUI更新到最新的版本上。如果网络环境不允许,那也可以通过我的 链接 直接下载作者打包好的项目来使用,缺点就是项目后续有更新的时候,需要手动下载更新包,并且手动转移自己的模型及插件。
重新打开一个终端窗口,执行下面这行命令来克隆WebUI项目:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
终端窗口显示正在克隆到 'stable-diffusion-webui'...
后,表示项目正在被安装,这个过程会持续一段时间,直到再次出现光标,表示WebUI已经安装完成。你可以在你的用户目录看到一个名为stable-diffusion-webui
的文件夹,这就是WebUI的项目目录。
下载Stable Diffusion大模型
WebUI项目安装完成后,接下来需要下载Stable Diffusion大模型。这里需要说明的是,WebUI项目本身并不包含Stable Diffusion大模型,需要自己手动下载。我这里简单介绍4个大模型下载网站,大家可以根据自己的偏好,选择一些模型来下载。选择时注意我们需要下载的是大模型,大模型的类型是CheckPoint或者Safetensors,文件大小不会小于1G。
从HuggingFace下载
Hugging Face是全世界最主流的一个大型AI社区,里面有超多的机器学习模型和数据集,包括最新的Stable Diffusion官方模型都是发布在这里。但这个平台专业性很强,更适合喜欢钻研AI的朋友去研究,对于初学者来说,可能不太友好。而且这个网站在大陆也是无法直接访问的。
Stable Diffusion官方模型发布页面
从Civitai下载
Civitai可以说是全世界最活跃的一个开源生成式AI的平台,专注于社区创造的内容,包括图片、模型、视频和文章。这个平台提供了一个可以展示和分享创意的空间,同时也有各种信息、指南和教程。其特色在于鼓励社区成员使用特定模型创造和分享作品。
在这个平台挑选大模型会比Hugging Face更方便一些,因为你可以很直观的看到大模型生成的效果图以及对应的提示词。不过也是因为这个平台太活跃,所以大模型更新速度很快,质量也良莠不齐,挑选模型是需要一些时间。另外这个网站在大陆也是无法直接访问的。
从LibLibAI下载
LibLibAI则是国内的后起之秀,这个平台更加专注于Stable Diffusion的大模型及LoRA分享,并且提供在线生图,在线训练LoRA等功能,对于电脑配置不高的用户来说,是一个不错的选择。而且由于是国内的网站,所以大陆用户可以无障碍的访问。(貌似非大陆地区反而无法访问)
从Tusiart下载
Tusiart也是国内的一个AI社区,提供各种AI相关的教程和资源,包括Stable Diffusion大模型和LoRA分享。这个平台的优势在于它的在线生图功能同时支持WebUI和ComfyUI,对于喜欢在线生图,且更习惯于工作流模式的用户。
将大模型放置在WebUI的指定位置
为了让WebUI可以调用大模型,我们需要将下载下来的大模型放在WebUI指定的目录下。放置模型的指定目录为WebUI安装目录->models->Stable-diffusion
运行Stable Diffusion
到这一步,大模型已经下载并放置在WebUI的指定目录下了。终于可以运行WebUI,在WebUI中调用Stable Diffusion大模型了。要运行WebUI,依然需要打开终端
,然后在访达(Finder)
中打开WebUI的安装目录。拖动目录下的webui.sh
到终端中,然后回车运行。
拖动webui.sh
到终端窗口中,终端窗口会显示出完整的路径
此时回车执行这个命令,WebUI就会运行起来。不过第一次运行时,WebUI会下载一些依赖,这个时间根据网络情况而定,一般都需要等待较长时间。当然只是第一次运行需要这么久,之后运行就很快了。
当依赖安装完成后,WebUI就会自动打开浏览器,并显示WebUI的界面,到这一步,最基本的Stable Diffusion运行环境就部署完了。
简单使用
现在WebUI已经运行起来了,我们简单试一下跑图。先来看一下界面:
这里我们先只介绍最基本使用,先让模型跑起来,具体的跑图过程,我会放到后续的文章里介绍。
- 在上图标注位置选择大模型,我这里只放了一个,在实际使用中,肯定会放很多的大模型在这里,所以我们这里一般会按照模型的版本及风格等方式,将模型放置在不同的子目录下面。这个会在之后的文章里详细说明,这里只是顺带提一下。
- 填入提示词,这里是跑图最重要的部分,提示词会告诉模型,你想要什么。由于大模型的训练数据都是以英文为基础,所以提示词也必须是英文。比如这里想要画一个小女孩,提示词就可以是
1girl
,为了效果更好,我们还可以加上例如4k
,best quality
等,提示词之间要用英文,
隔开。 - 这里需要填反向提示词,反向提示词会告诉模型,你不要什么。比如这里我们不想要小狗,那反向提示词可以是
no dog
,我们这里先不填。 - 点击Generate按钮,WebUI就会根据提示词开始生成图片。生成图片的过程可以参考下面的视频。
结语
好了,到这里,在Mac系统下最基本的Stable Diffusion运行环境就都部署好了,当然这只是最基本的运行环境。想要让Stable Diffusion的功能更加强大、更好用,我们还需要安装很多额外的插件。这部分内容我会放到后续文章里再讲。本篇内容就全都讲完了,希望对你有所帮助。