前言
AI绘画当前非常的火爆,随着Stable diffusion,Midjourney的出现将AI绘画推到顶端,各大行业均受其影响,离我们最近的AI绘画当属Stable diffusion,可本地化部署,只需电脑配备显卡即可完成AI绘画工作,此篇文章将以AUTODL从0到1云部署stable-diffusion-webui。
1.GPU云算力配置
在AutoDL注册个账号,然后租个GPU服务器
选择合适的实例,以RTX A5000的显卡为例
滚动下来选择基础镜像,选择Miniconda/conda3/3.10(ubuntu22.04)/11.8(此处我选择的最新版,需要看选择CUDA版本是否低于实例的最高CUDA,如果过高将无法创建),完成镜像选择后,点击底部的立即创建即可。
2.开始部署
进入控制台->容器实例,可以看到刚创建的示例,点击快捷工具JupyterLab进入Jupyter
点击终端,新建终端
2.1 环境配置
初始化conda,执行conda init,执行完成后关闭终端,重新开启一个终端
root@autodl-container-19e411b150-db72abe2:~# conda init
新建conda sd虚拟环境,新建后退出原有base环境,再激活sd环境
(base) root@autodl-container-19e411b150-db72abe2:~# conda create -n sd python=3.10.6
(base) root@autodl-container-19e411b150-db72abe2:~# conda deactivate
root@autodl-container-19e411b150-db72abe2:~# conda activate sd
2.2 拉取stable-diffusion-webui
开启学术资源加速(不开很慢甚至无法下载相关文件),在终端执行此命令
# 开启学术加速 source /etc/network_turbo # 关闭学术加速 unset http_proxy && unset https_proxy
拉取stable-diffusion-webui git源码
进入autodl-tmp目录,此目录是实例数据盘目录
(sd) root@autodl-container-19e411b150-db72abe2:~# cd autodl-tmp/
(sd) root@autodl-container-19e411b150-db72abe2:~/autodl-tmp# git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
2.3 启动Stable-diffusion-webui
进入stable-diffusion-webui目录
(sd) root@autodl-container-19e411b150-db72abe2:~/autodl-tmp# cd stable-diffusion-webui/
运行webui.sh
(sd) root@autodl-container-19e411b150-db72abe2:~/autodl-tmp/stable-diffusion-webui# bash webui.sh -f接着就是三方库以及模型下载,需要等待一段时间!
在下载完成并启动成功后,会看到http://127.0.0.1:7860的控制台日志,这表示启动成功了,但是在autodl通过自定义服务开启网页的话,是无法访问的,因为autodl的自定义服务的映射端口是6006,webui.sh启动方式的端口是7860,故需要ctrl+c停止服务,重新以命令行的形式启动,命令行加上6006的端口即可
(sd) root@autodl-container-19e411b150-db72abe2:~/autodl-tmp/stable-diffusion-webui# python launch.py --disable-safe-unpickle --port=6006 --xformers --no-half-vae
参数详解
--disable-safe-unpickle: 不启动安全检查,不加可能导致模型加载时报错
--port: 指定Stable-diffusion-webui启动的端口
--xformers: 极大改善内存消耗和速度
--no-half-vae: 不启用半精VAE,解决生成图片时,可能的VAE精度不足所导致的报错
至此,stable-diffusion-webui关于autodl的云部署就大功告成了!!!