AutoDL从0到1搭建stable-diffusion-webui

前言

  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

新实例

点击终端,新建终端
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

clone sd

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精度不足所导致的报错

命令行启动SD

autodl自定义服务

至此,stable-diffusion-webui关于autodl的云部署就大功告成了!!!

你可能感兴趣的:(AutoDL从0到1搭建stable-diffusion-webui)