市面上有很多可以被用于 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 端口。其中

然后在实例详情中,点击【安全组】-【绑定安全组】绑定刚刚创建的安全组。

二、环境安装

2.1 安装 GPU 驱动

在英伟达官网根据显卡型号、操作系统、CUDA 等查询驱动版本。官网查询链接 https://www.nvidia.com/Download/index.aspx?lang=en-us
注意这里的 CUDA 版本,如未安装 CUDA 可以先选择一个版本,稍后再安装 CUDA.

点击 Search

如上图,查询到合适的版本为 510. 然后可以使用 apt 安装对应驱动版本,使用 apt 安装更方便一些。

# 安装510版本驱动
apt install nvidia-driver-510
# 查看驱动信息
nvidia-smi

如安装成功,则可以展示如下提示信息。

2.2 安装 CUDA

访问英伟达开发者网站先选择 CUDA 版本(版本要对应 2.1 中 GPU 驱动支持的 CUDA 版本),再根据操作系统选择对应 CUDA 安装命令,访问链接 https://developer.nvidia.com/cuda-toolkit-archive

如上面安装确定所选择驱动对应的 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 模型,搜索找到 https://huggingface.co/runwayml/stable-diffusion-v1-5/tree/main

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

模型下载完成,再次执行启动命令,提示已启动到 7860 端口,则可以通过 IP+7860 端口访问:

公网建议设置访问密码,注意替换下面命令当中的 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 目录,模型可以在 https://civitai.com/ 查找,如下图所用 majicMIX realistic 模型。下载完成后点击左上角刷新按钮,然后选择刚下载的模型,输入 Promot 和参数即可生成图片。

附上图所用 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,

其他参数

四、常用相关工具与插件

4.1 安装 LoRa 插件 Additional Networks

使用 Lora 必不可少的插件,Additional Networks 可以用来控制 checkpoint+LoRa 或者多个 LoRa 模型生成混合风格的图像,并且可以设置 Lora 模型的 Weight。安装方式如下:

打开 stable-diffusion-webui,点击【Extensions】- 【Install from URL】输入 https://ghproxy.com/https://github.com/kohya-ss/sd-webui-additional-networks.git

然后点击【Install】等待安装,直到在【Installed】中显示,然后直接用命令重启 stable-diffusion-webui(不是 reload webui),强烈推荐所有插件安装完成都命令重启 stable-diffusion-webui,可以免去很多麻烦。

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

然后可以在【txt2img】或【img2img】中选择 Lora 模型并设置权重使用。

4.2 安装 ControlNet

作为 Stable Diffusion 必装插件,ControlNet 允许用户对生成的图像进行精细的控制,以获得更好的视觉效果,ControlNet 让 AI 绘画的可控性有了质的突变,让 AGIC 真正的可以投入生产使用。

打开 stable-diffusion-webui,点击【Extensions】- 【Install from URL】输入 https://ghproxy.com/https://github.com/Mikubill/sd-webui-controlnet.git
然后点击【Install】等待安装,直到在【Installed】中显示,然后直接用命令重启 stable-diffusion-webui(不是 reload webui)。

由于 controlNet 会使用很多模型,所以在重启的时候会默认下载,如果下载失败或超时,需要手动下载到 controlnet 目录。

访问 huggingface.co 找到 controlnet 的地址:https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main

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

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

4.3 Jupyter Notebook

Jupyter Notebook 是一个基于网页的交互环境,可以用来编辑、运行 Python 代码,可视化看到运行结果。同时提供了基础的文件树操作功能等。

如已在章节 2.4 中安装了 Anaconda,直接使用以下命令运行 notebook

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

访问 IP+8888 端口,可以开始使用 notebook

4.4 模型训练工具 Kohya_ss

Kohya_ss 是公认推荐训练 Stable Diffusion 模型的可视化工具,尤其在 windows 平台支持比较好,经过尝试在 linux 直接使用会遇到各种环境原因的问题,为了避免这些问题,十分推荐使用 docker 安装。

先按照 docker 官方文档安装好 docker,Ubuntu 安装 docker 文档:https://docs.docker.com/engine/install/ubuntu/
由于在 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 为需要设置的账号密码

然后执行

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 值注意改成对应的版本。

下载地址 https://huggingface.co/openai/clip-vit-large-patch14/tree/main,注意下载全部文件

下载完成,然后访问端口 + 7861 端口,可以开始使用 Kohya_ss 训练模型了。

五、总结

安装完 Stable Diffusion 及上面的推荐插件,你的 Stable Diffuion 已经具备强大的生产力。后续我会继续同大家一起探索和分享更多的使用经验。

关于AI绘画技术储备

学好 AI绘画 不论是就业还是做副业赚钱都不错,但要学会 AI绘画 还是要有一个学习规划。最后大家分享一份全套的 AI绘画 学习资料,给那些想学习 AI绘画 的小伙伴们一点帮助!

对于0基础小白入门:

如果你是零基础小白,想快速入门AI绘画是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案

包括:stable diffusion安装包、stable diffusion0基础入门全套PDF,视频学习教程。带你从零基础系统性的学好AI绘画!

需要的可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】





1.stable diffusion安装包 (全套教程文末领取哈)

随着技术的迭代,目前 Stable Diffusion 已经能够生成非常艺术化的图片了,完全有赶超人类的架势,已经有不少工作被这类服务替代,比如制作一个 logo 图片,画一张虚拟老婆照片,画质堪比相机。

最新 Stable Diffusion 除了有win多个版本,就算说底端的显卡也能玩了哦!此外还带来了Mac版本,仅支持macOS 12.3或更高版本

在这里插入图片描述

2.stable diffusion视频合集

我们在学习的时候,往往书籍代码难以理解,阅读困难,这时候视频教程教程是就很适合了,生动形象加上案例实战,一步步带你入门stable diffusion,科学有趣才能更方便的学习下去。

在这里插入图片描述

3.stable diffusion模型下载

stable diffusion往往一开始使用时图片等无法达到理想的生成效果,这时则需要通过使用大量训练数据,调整模型的超参数(如学习率、训练轮数、模型大小等),可以使得模型更好地适应数据集,并生成更加真实、准确、高质量的图像。

在这里插入图片描述

4.stable diffusion提示词

提示词是构建由文本到图像模型解释和理解的单词的过程。可以把它理解为你告诉 AI 模型要画什么而需要说的语言,整个SD学习过程中都离不开这本提示词手册。

在这里插入图片描述

5.AIGC视频教程合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述
这份完整版的学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】





声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。