专栏/M1 Mac搭建Novel AI(Stable Diffusion)本地部署详细教程

M1 Mac搭建Novel AI(Stable Diffusion)本地部署详细教程

2022年10月15日 02:26--浏览 · --喜欢 · --评论
粉丝:33文章:1

Novel AI本质上是一个通过AI生成小说的网站,自带一个使用文字或图片制作小说插图的功能,不过现在被大家拿来干啥用,我就不再多说了。它跟Stable Diffusion的关系大致来说就是Novel AI官方宣称它们在Stable Diffusion的基础上做了一些修改和优化,不过这个所谓的“优化”到底做了多少东西,就……呵呵……



理论上,本教程适用于所有Mac OS系统,包括:

M1、M1 pro和Max等衍生的那一票

M2 Mac

Intel版Mac,甚至黑苹果(此时仅支持CPU推理,做好一张图搞半小时的准备)你都x86架构了,去装Linux不好吗?何必在Mac上跑pytorch?

操作系统建议macOS 12,不过需要注意的是内存越大越好,我在16G RAM的 M1 pro MacBook上出现了内存不足的情况,此时会有较为明显的性能损失。8G RAM理论上可以跑,没做过测试。

在这篇教程动笔的时候,突然发现有个人比我早87个小时在半夜发布了他的文字版专栏教程…………啊,这……老年人睡眠更重要,我不跟你们卷

准备工作:

  • Mac系统的电脑一台、内存越大越好、系统版本建议MacOS 12以上

  • 全局访问Github等国际性的网站,且网速和网络稳定性保持在你能接受的范围,如果只有几十KiB/s还动不动就断连,那请尽早放弃。(程序员能正常访问Github难道不是常识吗)(理论上有替代方案,但是我懒)

  • 提前下载预训练模型文件,链接不知道能不能放:

magnet:?xt=urn:btih:3a4a612d75ed088ea542acac52f9f45987488d1c&dn=sd-v1-4.ckpt&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.opentrackr.org%3a1337

  • 检查是否已经安装过其他版本的Python:

    打开你的Terminal(不会打开?CMD+空格键,输入terminal就开了)

输入:open /Library/Frameworks   如果看到有Python开头的文件夹,删掉它

输入:open /usr/local/bin    如果看到有Python开头的文件或文件夹,删掉它

输入:brew cleanup (没装brew?没关系,马上你就要装了)



安装开始:

  1. 安装Home brew:

    继续在你的Terminal里面输入:

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

  2. 确认HomeBrew安装完毕后,继续在Terminal里安装需要用到的其他软件,输入:

    brew install cmake protobuf rust python git wget

  3. 新建一个文件夹,文件名随便取,这将是你存放Novel AI软件的地方,我们这里以:

        桌面上“NovelAI”文件夹为例

  4. 安装Stable-Diffusion-WebUI,继续回到Terminal当中,按顺序输入以下命令(上一条执行完了再输入下一条:

    • cd ~/Desktop/NovelAI/

    • curl https://raw.githubusercontent.com/dylancl/stable-diffusion-webui-mps/master/setup_mac.sh -o setup_mac.sh

    • chmod +x setup_mac.sh

    • ./setup_mac.sh

  5. 此时会开始自动安装,当看到询问你“是否已经下载好模型”的时候(看不懂英文的,就是第一次出现“(y),n”的时候),别急着输入,打开桌面上NovelAI文件夹,进入到stable-diffusion-webui\models\Stable-diffusion里面,将准备工作中我们下载好的“sd-v1-4.ckpt”文件拷贝到这里

  6. 回到Terminal界面,输入y,回车,然后一路y,回车下去;

  7. 如果一切顺利,最终你会看到下面的界面

安装成功

打开Safari浏览器,输入:http://127.0.0.1:7860就可以使用了

关闭浏览器并不会让你的程序关闭,要在终端(Terminal)中按Control+C键;

以后想要运行,打开Terminal,输入:

  • cd ~/Desktop/NovelAI/stable-diffusion-webui

  • ./run_webui_mac.sh

除BUG和其他:

  • 如果安装完毕的首次运行过程中出现报错等情况,大概率是依赖没装完导致的,在miniconda里按照以下步骤重装依赖:

    1、关闭、等待一段时间、重新打开你的Terminal,或者保险起见,重启电脑

    2、在Terminal中按顺序输入:

    • cd ~/Desktop/NovelAI/stable-diffusion-webui

    • conda env config vars set PYTORCH_ENABLE_MPS_FALLBACK=1

    • conda activate web-ui

    • pip install -r requirements.txt

        3、等待它安装完成,如果报错且没有能力排查,可以再运行一遍pip install -r requirements.txt,或者寻求谷歌大神的帮助。


这里顺便给一个模型库,里面有各种奇奇怪怪的模型,按需要自取:

https://rentry.org/sdmodels

如果想要输出的内容与Novel AI官网差不多,需要下载和使用它们的训练结果,链接我放在下面了:

magnet:?xt=urn:btih:5bde442da86265b670a3e5ea3163afad2c6f8ecc

额外注意事项:

Mac并未提供完整支持,Sampling method当中必须选择Euler和DPM2开头的选项,其他选项会导致出现纯黑的色块。Upscaling必须选择real-ESRGAN类型的模型。

最后就是词条的堆砌和拉滑块时间了,祝各位使用愉快;

如果内存比较小,比如8G,可以考虑降低分辨率,之后再用缩放软件拉伸

碎碎念,提交的时候忘记点原创文章了,就……


投诉或建议