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?没关系,马上你就要装了)
安装开始:
安装Home brew:
继续在你的Terminal里面输入:
-c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
确认HomeBrew安装完毕后,继续在Terminal里安装需要用到的其他软件,输入:
brew install cmake protobuf rust python git wget
新建一个文件夹,文件名随便取,这将是你存放Novel AI软件的地方,我们这里以:
桌面上“NovelAI”文件夹为例
安装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
此时会开始自动安装,当看到询问你“是否已经下载好模型”的时候(看不懂英文的,就是第一次出现“(y),n”的时候),别急着输入,打开桌面上NovelAI文件夹,进入到stable-diffusion-webui\models\Stable-diffusion里面,将准备工作中我们下载好的“sd-v1-4.ckpt”文件拷贝到这里
回到Terminal界面,输入y,回车,然后一路y,回车下去;
如果一切顺利,最终你会看到下面的界面
打开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,可以考虑降低分辨率,之后再用缩放软件拉伸