本来想投B站,结果说我涉嫌广告内容把文章锁了。
那你怎么不说写C++的专栏是在给C++打广告呢。
于是只能投知乎了。
但感觉知乎人均计算机高手,可能也不太需要我这篇文章。
最近天天沉迷NovelAI,但是小笔记本的1650实在是太拉,一张512*768的图本地要跑四分多钟。
就这么忍受了几天,结果今天看到别人的出图速度感觉实在是眼馋,于是毅然决定搞台服务器。搜了一下发现教程并不多,所以我自己折腾了一个下午,终于实现了涩图自由,从十秒一个iter变成了一秒十个iter。
独乐乐不如众乐乐,秉承互联网的开源精神,这里大致分享一下操作流程,争取人人都能实现涩图自由。
本人尽力将本文写得通俗易懂,争取做到直接按照步骤一步一步操作下来就可以直接使用。但不排除可能需要用到一些基础计算机知识。
一、平台选取与服务器租用
服务器我用的是AutoDL。首先进入AutoDL官网,点击右上角注册按钮注册账号。
AutoDL首页
注册完后进入控制台。如果是学生的话先完成控制台右上方的学生认证,价格会非常优惠。
完成后点击左侧我的实例——租用新实例。计费方式选择按量计费。选租主机和算力型号可以根据价格需求自行选择,但是一定要选择有空闲GPU的主机。
下午我已经用3080Ti配了一台服务器,这里本来想租一台A100玩玩,但是已经没有空闲GPU了,所以我租一个A5000进行演示。
服务器租用
GPU数量选1即可,50GB的数据盘也很够用了。镜像选择PyTorch 1.11.0,Python版本为3.8(ubuntu 20.04),Cuda版本为11.3。如果有优惠券的话选择一下优惠券,之后点立即创建即可。
服务器租用
创建好后应该和下图长得一样,系统会自动帮你开机。
租用成功
二、公网网盘绑定与换源
创建完成后点击快捷工具中的AutoPanel,选择上方的公网网盘并设置一个独立访问密码。进入后公网网盘选择阿里云盘。
在阿里云盘上注册一个账号,并下载PC端和移动端阿里云盘app,用移动端扫码进行绑定。
之后打开PC端阿里云盘app,将本地下载好的NovelAI模型(*.ckpt, *.pt)以及hypernetworks文件上传至阿里云盘里。上传速度应该很快,成功后可以在AutoPanel中看到。
NovelAI文件
之后在AutoPanel中点击右边的下载按钮,将所有文件下载至实例中。
在下载的过程中我们可以先做一些其他事。
点击AutoPanel上方的实用工具,在切换Pip/Conda源中将pip源切换至默认源并点击确定。
pip换源
三、Ubuntu环境配置
换源后回到我的实例界面,在快捷工具中点击JupyterLab。界面如下。
JupyterLab
由于个人比较喜欢终端操作,这里展示终端操作流程。点击其他中的终端,打开shell界面。
进入后首先输入指令:
之后重启终端。退出后在左侧选择“正在运行终端和内核”,点击“全部关闭”。
重启终端
之后回到控制台界面。选择上方的“帮助文档”,点击左侧的“学术资源加速”,找到你所租借的服务器所在区域并复制对应命令。由于我租的是芜湖区的机子,所以复制芜湖区对应的命令。
代理配置
回到JupyterLab,点击“其他”中的“终端”,再次打开终端界面,将指令复制进终端内。
执行结束后画面如下所示。
代理配置
之后输入指令:
出现如图所示界面后输入小写的y并回车,等待下载完成。
创建conda环境
出现如图所示界面后输入下一条指令:
环境创建完成
完成后应该能看到光标所在行最前面的括号内容变成了waifu。
之后输入:
进入autodl-tmp文件夹。
之后将stable-diffusion-webui克隆到本地,即输入命令:
等待命令执行完毕。
之后输入命令:
进入stable-diffusion-webui文件夹。
进入后执行命令:
等待环境配置完成,可能需要一段时间。
上述操作完成后应该会显示如图所示的画面。
环境安装
如果这时模型还没有下载完成的话再等待一下,等模型下好。下好的文件存放在/autodl-tmp文件夹下。下载完成后将模型移动到models文件夹里。由于我的模型名字为animefull-latest.ckpt和animefull-latest.pt,文件夹为hypernetworks,所以输入如下三行指令:
mv ~/autodl-tmp/animefull-latest.pt ~/autodl-tmp/stable-diffusion-webui/models/Stable-diffusion/
mv ~/autodl-tmp/hypernetworks~/autodl-tmp/stable-diffusion-webui/models/
需要注意的是如果模型名称或文件夹名称不同,那么请将命令中对应的模型名称替换为你的模型名称,对应的文件夹名称替换为你的文件夹名称。
完成后再次输入指令:
之后等待下载完成,完成后应该会出现如下界面:
配置完成
之后复制public URL至浏览器即可,enjoy!
四、注意事项
1、若不使用stable diffusion,请将实例关机,否则将一直扣费。
2、本文仅介绍了一种配置方法,当然本地ssh至服务器也可以,用jupyter notebook也可以,甚至网盘选取度盘也可以,只不过度盘比较麻烦而且非会员限速。
3、如果通过ssh登录或手抽把在线的终端掐了,为防止终端关闭后程序终止,需要使用tmux或者screen。
4、学生使用autodl价格比较亲民,并且现在注册完成之后送十元的代金券,十元其实非常够用了。如果不够的话再额外贴一点就行,最好的卡一小时也不超过五块钱。此外选择其他云服务器也是可以的。
5、如果配置完成并关掉终端后想重新运行stable diffusion,直接从步骤三中输入命令”conda activate waifu”开始做起即可。
6、本人能力有限,请各位大佬斧正。
老婆斯哈斯哈
2022.10.16 update:发现public URL稳定性奇差。将端口修改为6006之后用自定义服务登录即可,指令为:
2022.10.18 update:发现有人蹭我的GPU,具体原因和操作方法不明。目前的解决方法是开auth认证,可以在项目的github仓库上找到使用方法。顺带更新一下老婆的美图。
2022.10.25 update:应该是最近玩这个的人太多了,现在开自定义端口要签实名协议,最好在negative prompts中加上nsfw防止封号。
2022.10.30 update:我的另一台机子三四天没开机,开机了一下发现文件损坏+zsh配置爆炸,合理怀疑平台有问题,注意数据备份。
具体问题是启动launch.py后报错:
解决方法很简单,cd到~目录下,把.cache文件删了,重下一遍文件即可。