一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队

市道上有许多能够被用于AI绘画的运用,例如DALL-E、Midjourney、NovelAI等,他们的大部分都依托云端服务器运转,一部分还需求付出会员费用来购买更多出图的额度。在2022年8月,一款叫做Stable Diffusion的运用,经过算法迭代将AI绘画的精细度提上了一个新的台阶,并能在以秒计数的时间内完结产出,还能够在一台有“民用级”显卡的电脑上运转。

经过Stable Diffusion,能够制作出各种风格的著作,比如动漫风、插画立绘、国风水墨、3D建模,乃至是相片级的拟真图画,而凭借比如LoRa、ControlNet等衍生功用,还能够做到精准操控美术风格、人物细节、姿态、动作、构图等。更更重要的是,他是全面开源的,这意味着你能够在自己的电脑上布置整个程序,运用它出图、作画是完全免费而且不限量的!市道上大多数商业级的AI绘画运用,都是依据SD去开发的。

尽管Stable Diffusion十分亲民,但他还是有必定的装备要求的,它需求一张性能满足强壮的独立显卡供给算力进行制作。实际上,“跑得动”和“玩得爽”是两种不同的体会,算力上的差异会极大的影响AI绘画时的出图功率,也正是由于此,有许多同学由于个人电脑捉急的装备而错失了深入体会Stable Diffusion的时机。等一下,你知道京东云吗?京东云GPU云主机是供给GPU算力的弹性核算服务,具有超强的并行核算才能,正在深度学习、科学核算、图形图画处理、视频编解码等场景广泛运用,为您供给触手可得的算力,有用缓解核算压力,提高您的业务功率,并可弹性扩展,助您快速构建异构的核算运用。

在阅历了一系列的探索后,我为你总结出了一套零基础的、十分好上手的凭借京东云GPU云主机布置装置Stable Diffusion WebUI以及相关东西和插件的保姆集教程,请查收。

一、创立GPU主机实例

1.1 创立GPU云主机

京东云GPU云主机的标准型的装备包括Tesla P40 24G显卡、12核48G,跑Stable Diffusion体会十分好,装备引荐如下:

装备 引荐 阐明
体系 Ubuntu 20.04 64位
规格 GPU 标准型 p.n – p.n1p40.3xlarge 12核 48G Nvidia Tesla P40 24G显存
体系盘 100G 体系盘主张100G
带宽 5M 主张5M

1.2 创立安全组并绑定

首先在左边菜单【安全组】创立一个安全组,在【入站规则】和【出站规则】中别离增加并开放7860、7861、8080、8888端口。其间

一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队

然后在实例概况中,点击【安全组】-【绑定安全组】绑定刚刚创立的安全组。

二、环境装置

2.1 装置GPU驱动

在英伟达官网依据显卡类型、操作体系、CUDA等查询驱动版别。官网查询链接www.nvidia.com/Download/in…
留意这儿的CUDA版别,如未装置CUDA能够先挑选一个版别,稍后再装置CUDA.

一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队

点击Search

一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队

如上图,查询到合适的版别为510. 然后能够运用apt装置对应驱动版别,运用apt装置更便利一些。

# 装置510版别驱动
apt install nvidia-driver-510
# 检查驱动信息
nvidia-smi

如装置成功,则能够展示如下提示信息。

一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队

2.2 装置CUDA

拜访英伟达开发者网站先挑选CUDA版别(版别要对应2.1中GPU驱动支撑的CUDA版别),再依据操作体系挑选对应CUDA装置指令,拜访链接developer.nvidia.com/cuda-toolki…

一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队

如上面装置确认所挑选驱动对应的CUDA版别为11.6,依据装置指令装置, 以下指令适用Ubuntu 20.04 x86_64, GPU驱动510版别

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda-repo-ubuntu2004-11-6-local_11.6.2-510.47.03-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-11-6-local_11.6.2-510.47.03-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu2004-11-6-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

2.3 装置Python 3.10

Stable Diffusion WebUI现在最低支撑Python 3.10,所以直接装置3.10版别,装置指令:

	apt install software-properties-common
	add-apt-repository ppa:deadsnakes/ppa
	apt update
	apt install python3.10
	python3.10 --verison

PIP设置国内源,由于默许源在国外,所以装置或许经常会呈现timeout等问题,运用国内源能够很大程度防止下载包timeout的情况。将如下内容复制到文件~/.pip/pip.conf当中,如没有该文件,先创立touch ~/.pip/pip.conf

	[global]
	index-url = https://pypi.tuna.tsinghua.edu.cn/simple
	[install]
	trusted-host = https://pypi.tuna.tsinghua.edu.cn  

2.4 装置Anaconda

十分引荐运用Anaconda。Anaconda能够便捷获取包且对包能够进行办理,一同对Python环境能够统一办理的发行版别。装置指令也很简单:

	wget https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh
	bash ./Anaconda3-2023.03-1-Linux-x86_64.sh

创立Python3.10.9环境,并运用该环境

	conda create -n python3.10.9 python==3.10.9
	conda activate python3.10.9

2.5 装置PyTorch

首先在PyTorch官网查询对应CUDA版别的Torch,如上述章节2.2中CUDA 11.6需求装置pytorch1.13.1

# 运用conda装置,两种装置办法二选一
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -c nvidia
# 运用pip装置,两种装置办法二选一
pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116

三、布置Stable Diffusion WebUI

3.1 下载stable-diffusion-webui

留意首先激活Python3.10环境:

conda activate python3.10.9

然后下载stable-diffusion-webui

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

3.2 装置依靠

cd到stable-diffusion-webui目录装置相应的依靠,如有拜访网络超时、失利等,留意依照章节2.3中设置国内源,假如再次失利,重试几次一般都可完结装置。

cd stable-diffusion-webui
pip install -r requirements_versions.txt
pip install -r requirements.txt

3.3 发动stable-diffusion-webui

装置完结后,履行如下发动指令:

python launch.py --listen --enable-insecure-extension-access

这一步骤会下载一些常用模型,假如遇到下载失利,依据报错提示在huggingface.co下载模型放到对应目录,如下载stable-diffusion-v1-5模型,查找找到huggingface.co/runwayml/st…

一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队

点击图中下载按钮,下载v1-5-pruned-emaonly.safetensors到stable-diffusion-webui/models/Stable-diffusion目录,其他模型同理。

模型下载完结,再次履行发动指令,提示已发动到7860端口,则能够经过IP+7860端口拜访:

一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队

公网主张设置拜访密码,留意替换下面指令当中的username:password为用户名、密码。

python launch.py --listen --enable-insecure-extension-access --gradio-auth username:password

上述指令非后台运转,如需后台运转能够运用nohup、tmux等办法实现。

3.4 运用stable-diffusions生成图片

下载一个模型到/stable-diffusion-webui/models/Stable-diffusion目录,模型能够在civitai.com/查找,如下图所用maj… realistic模型。下载完结后点击左上角改写按钮,然后挑选刚下载的模型,输入Promot和参数即可生成图片。

一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队

附上图所用Promot和参数

Prompt

1 girl a 24 y o woman, blonde, dark theme, soothing tones, muted colors, high contrast, look at at viewer, contrasty , vibrant , intense, stunning, captured in the late afternoon sunlight, using a Canon EOS R6 and a 16-35mm to capture every detail and angle, with emphasis on the lighting and shadows, late afternoon sunlight, 8K

Negative prompt

(deformed, distorted, disfigured, doll:1.3), poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs, (mutated hands and fingers:1.4), disconnected limbs, mutation, mutated, ugly, disgusting, blurry, amputation, 3d, illustration, cartoon, flat , dull , soft, (deformed, distorted, disfigured:1.3), poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs,

其他参数

一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队

四、常用相关东西与插件

4.1 装置LoRa插件Additional Networks

运用Lora必不可少的插件,Additional Networks能够用来操控checkpoint+LoRa或许多个LoRa模型生成混合风格的图画,而且能够设置Lora模型的Weight。装置办法如下:

打开stable-diffusion-webui,点击【Extensions】- 【Install from URL】输入ghproxy.com/https://git…

然后点击【Install】等候装置,直到在【Installed】中显现,然后直接用指令重启stable-diffusion-webui(不是reload webui),强烈引荐所有插件装置完结都指令重启stable-diffusion-webui,能够免除许多费事。

最终点击【Setting】-【Additional Networks】输入LoRa文件夹的绝对路径,如/root/stable-diffusion-webui/models/Lora(示例,请填写你的体系路径),然后【Reload UI】等候重启完结。

一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队

然后能够在【txt2img】或【img2img】中挑选Lora模型并设置权重运用。

一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队

4.2 装置ControlNet

作为Stable Diffusion必装插件,ControlNet 答应用户对生成的图画进行精细的操控,以获得更好的视觉效果,ControlNet让AI绘画的可控性有了质的骤变,让AGIC真正的能够投入生产运用。

打开stable-diffusion-webui,点击【Extensions】- 【Install from URL】输入ghproxy.com/https://git…
然后点击【Install】等候装置,直到在【Installed】中显现,然后直接用指令重启stable-diffusion-webui(不是reload webui)。

由于controlNet会运用许多模型,所以在重启的时候会默许下载,假如下载失利或超时,需求手动下载到controlnet目录。

拜访huggingface.co找到controlnet的地址:huggingface.co/lllyasviel/…

一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队

手动下载上面模型文件到stable-diffusion-webui/extensions/sd-webui-controlnet/models目录,检查已下载controlnet模型:

一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队

下载完结,重启stable-diffusion-webui即可在【txt2img】或【img2img】运用。

一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队

4.3 Jupyter Notebook

Jupyter Notebook是一个依据网页的交互环境,能够用来修改、运转Python代码,可视化看到运转成果。一同供给了基础的文件树操作功用等。

如已在章节2.4中装置了Anaconda,直接运用以下指令运转notebook

jupyter notebook --allow-root --NotebookApp.token='设置你的token'

拜访IP+8888端口,能够开始运用notebook

一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队

4.4 模型练习东西Kohya_ss

Kohya_ss是公认引荐练习Stable Diffusion模型的可视化东西,尤其在windows渠道支撑比较好,经过测验在linux直接运用会遇到各种环境原因的问题,为了防止这些问题,十分引荐运用docker装置。

先依照docker官方文档装置好docker,Ubuntu装置docker文档:docs.docker.com/engine/inst…
由于在docker容器中需求运用GPU资源,所以还需求先装置NVIDIA Container Toolkit

sudo apt-get update \
    && sudo apt-get install -y nvidia-container-toolkit-base
# 检查是否装置成功
nvidia-ctk --version

然后下载kohya_ss:

git clone https://github.com/bmaltais/kohya_ss.git

如下图,修改kohya_ss/docker-compose.yaml文件端口为0.0.0.0:7861:7860(将kohya_ss的7860端口映射到宿主机的7861端口,由于7860会被Stable Diffusion WebUI占用),

发动参数设置为"--username xxxx --password xxxx --headless",留意替换xxxx为需求设置的账号密码

一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队

然后履行

docker compose build # 首次履行需求build
docker compose run --service-ports kohya-ss-gui

进程中会从huggingface.co下载模型文件,假如下载失利,能够测验手动下载到目录kohya_ss/.cache/user/huggingface/hub/models–openai–clip-vit-large-patch14/snapshots/8d052a0f05efbaefbc9e8786ba291cfdf93e5bff,最终的hash值留意改成对应的版别。

下载地址huggingface.co/openai/clip…

一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队

下载完结,然后拜访端口+7861端口,能够开始运用Kohya_ss练习模型了。

一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队

五、总结

装置完Stable Diffusion及上面的引荐插件,你的Stable Diffuion已经具有强壮的生产力。后续我会继续同大家一同探索和共享更多的运用经验,敬请期待系列文章下一集。

作者:京东科技 王雷

来源:京东云开发者社区