体会在线 AI 画图服务
Midjourney
Midjourney 是一个由同名研讨实验室开发的人工智能程序,可依据文本生成图画,于2022年7月12日进入公开测试阶段,用户可透过 Discord 的机器人指令进行操作。该研讨实验室由 Leap Motion 的创办人大卫霍尔兹担任领导。—— Wikipedia

Microsoft Bing Image Creator
微软凭借 OpenAI 的 DALL-E 图画生成 AI ,供给了这个在线图片生成服务。用户输入一段文本提示,仅需数秒即可获得一组 AI 生成的与之匹配的图画。

建立自己的 AI 作图环境
在线服务作用好,可是有运用次数限制。假设你需求更多的自由度,那么能够考虑自己建立一套 AI 做图环境。
准备
Stable Diffusion GUI
AI 绘图现已火出圈,自然开源社区里也有许多 Stable Diffusion 的图形界面,便利用户上手体会。 有专门供给给 MacOS 桌面端的 DiffusionBee,还有跨平台的 Stable Diffusion UI v2 。
而本文咱们着重介绍能够布置在云端的 Web UI 。 AUTOMATIC1111(简称 A1111)Stable Diffusion Web UI 是为高档用户供给的 Stable Diffusion GUI。 多亏了活跃的开源社区,大多数新功能都会先支撑上这个免费的 Stable Diffusion GUI 。 但要运用它并不简略。文档不够详尽,以及供给的茫茫功能列表都会让新手苍茫。
购买一台云主机
初度体会,先试试最廉价的 GPU 主机。 P.S 最低配的也彻底够用,生成图片很快!
我注册的云主机的装备如下:
- 体系: Ubuntu22.04
- 显卡: 1 * NVIDIA T4
- CPU/内存: 4 核 32 G
- 体系盘: 200GB
- 带宽: 10Mbps
顺畅的网络环境
略,自己想办法
装置
机器注册后,能够直接从 Web 端一键登录:

具体的你能够参阅文档产品文档。
登录云主机后,能够先检查一下显卡型号:
$ lspci | grep -i nvidia
00:06.0 3D controller: NVIDIA Corporation TU104GL [Tesla T4] (rev a1)
货真价实,没有问题,那么开端建立吧!
装置一些必要的依赖软件
# 更新软件包索引
sudo apt-get -y update
# 必要软件
sudo apt-get -y install wget git python3 python3-venv python3-pip
sudo apt-get -y install aria2 screen
# 装置 cuda 软件包,让显卡发挥超能力
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda
# 清理 deb 装置包
rm *.deb
# 装置 cuda 之后,需求重启收效
sudo reboot
验证 cuda 是否装置成功:
$ nvidia-smi
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.30.02 Driver Version: 530.30.02 CUDA Version: 12.1 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 Tesla T4 On | 00000000:00:06.0 Off | 0 |
| N/A 38C P0 26W / 70W| 2279MiB / 15360MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 103851 C python3 2274MiB |
+---------------------------------------------------------------------------------------+
写在前面的一点主张
主张你在运用 ssh 登录云主机时,运用 screen 指令进入一个虚拟终端会话,这能够防止因为网络不稳定而中断了正在执行的指令。因为接下来的一些指令需求下载大文件而耗时比较长。
screen 指令速记:
# 新建一个 screen 会话,我的会话取名为 workspace
screen -R workspace
# 退出 screen 会话
## 先按组合键 Ctrl+A
## 然后按字母 D
# 当需求重新进入 screen 会话
screen -r -d workspace
具体的指令运用阐明,参阅 How To Use Linux Screen 。
布置 Web UI
你能够直接 clone 项目 AUTOMATIC1111/stable-diffusion-webui (又称 A1111 ) 的最新代码,然后依照 README 中的阐明装置即可。
而我参阅了另一个项目:
假设你想快速开端体会,就跟我相同脚本一把梭,以免消耗时刻找各种插件/模型; 假设你很在意这些指令在干什么,我简略增加了一些注释; 看不懂?没关系,这个系列今后会有文章深入这些细节。
#!/usr/bin/env bash
# A1111 项目没有打 tag 的习惯,你拉取到的最新版别代码或许无法复现本文的内容,
# 而这个项目 Fork 自 A1111 ,还贴心肠打上了 tag ,主张你和我相同运用这份源码
git clone -b v2.2 https://github.com/camenduru/stable-diffusion-webui
# 指定之后操作的根目录
base_dir="$(pwd)/stable-diffusion-webui"
# 简化 ariac2 下载指令
download="aria2c --console-log-level=error -c -x 16 -s 16 -k 1M"
# Extra network / Textual Inversion
# 负面词,功能阐明 https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Negative-prompt
git clone https://huggingface.co/embed/negative ${base_dir}/embeddings/negative
# Extra network / Lora
# 支撑把 Lora 模型作为关键词
git clone https://huggingface.co/embed/lora ${base_dir}/models/Lora/positive
# 4x-UltraSharp ,一个通用模型,能够进步图片的分辨率。
# 原始模型发布在 MEGA 网盘,为了下载便利运用 huggingface 上的备份。
${download} https://huggingface.co/embed/upscale/resolve/main/4x-UltraSharp.pth -d ${base_dir}/models/ESRGAN -o 4x-UltraSharp.pth
# 一些便利的插件,能够去他们的 Github 主页查看功能介绍
## 便利从 Web 端下载 civitai 市场的模型
git clone -b v2.0 https://github.com/camenduru/sd-civitai-browser ${base_dir}/extensions/sd-civitai-browser
## 便利从 Web 端下载 huggingface 市场的模型
git clone https://github.com/camenduru/stable-diffusion-webui-huggingface ${base_dir}/extensions/stable-diffusion-webui-huggingface
## 一个图片阅读器,便利阅读保存过的图片
git clone https://github.com/AlUlkesh/stable-diffusion-webui-images-browser ${base_dir}/extensions/stable-diffusion-webui-images-browser
# 主模型
models="${base_dir}/models"
## Stable Diffuison v1.5,SD1.5 的模型 (可选)
${download} https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors -d ${models}/Stable-diffusion -o v1-5-pruned-emaonly.safetensors
## 国风3 https://huggingface.co/xiaolxl/GuoFeng3
${download} https://huggingface.co/xiaolxl/GuoFeng3/resolve/main/GuoFeng3.2.safetensors -d ${models}/Stable-diffusion -o GuoFeng3.2.safetensors
# LoRA 模型
mkdir -p ${models}/Lora
## 墨心 MoXin https://civitai.com/models/12597/moxin
${download} https://civitai.com/api/download/models/14856 -d ${models}/Lora -o MoXin_v10.safetensors
最终咱们发动 Web UI
直接通过 launch.py 发动,而不是 webui.sh ,这样能够加载额外装置的插件。 一些 Python 依赖包会在初度运行时装置。
cd stable-diffusion-webui
## 初始化并启用新的 python venv 环境
python3 -m venv .venv
source .venv/bin/activate
## 装置支撑 cuda 11.8 的 pytorch, xformer
pip install torch torchvision torchaudio torchtext torchdata --extra-index-url https://download.pytorch.org/whl/cu118 -U
pip install xformers==0.0.18 triton==2.0.0 -U
## 在 10000 端口上发动 Web 服务
python3 launch.py --listen --xformers --enable-insecure-extension-access --gradio-queue --port 10000
阅读器打开 http://${host_ip}:10000 就能够看到 Stable Diffusion Web 页面了。
把 ${host_ip} 换成你的云主机 ip 地址。 P.S 装置脚本中省掉了部分本文用不到的插件,所以 Web 截图会略有不同。
运用自建的 AI 作图环境
挑选一个根底模型(主模型)在 Stable Diffusion checkpoint 下拉菜单中,挑选 GuoFeng3.2.safetensors 。
GuoFeng3 这是一个中国华丽古风风格模型,也能够说是一个古风游戏人物模型,具有2.5D的质感。来自: huggingface.co/xiaolxl/Guo…
点击 Generate 下面的 Show/hide extra networks 图标,能够看到现已装置的模型。
切换选项卡,能够看到咱们现已装置的一切 LoRA 模型。
Q: 什么是 LoRA 模型? A: 依据特定概念更改现有 Stable Diffusion 模型成果的文件。这能够是一种艺术风格、一个人物、一个实际中的人、一个物体或一个主题。一些著名的例子:Arcane Style LoRA(奥术风格 LoRA) ,Makima from Chainsaw Man LoRA(来主动漫《电锯人》中的玛奇玛)。(来自:aituts.com/stable-diff…)

我挑选 Moxin_10 这个模型。
墨心 MoXin 1.0 昔涓子《琴心》,王孙《巧心》,心哉美矣,故用之焉。 来自: civitai.com/models/1259… (非常适合与国风3 调配运用的 LoRA 模型,能够生成水墨画风格的图片。)
从最简略的开端
准备创作,首要要有个想法: 假设我想画一只熊。
在关键词 (Prompt) 输入框中增加一句描绘: a bear
提示词目前只支撑英语。 假设你有更杂乱的描绘,可是表达不出来?翻译软件一大把。
然后点击 Generate 进行生成,大概花了 10s,图片就生成好了。
说实话,这虎头虎脑的黑熊,作用还挺萌!顿时对咱们的 AI 绘画之旅,充满信心了有木有?
假设要再次生成,就持续点击 Generate ;假设要一次生成多张图片,能够调整 Batch count 。 显卡有多还能够调整 Batch size 进行并发生成。
点击 Generate 进行批量生成,大概花了 13s,多张图片就生成好了。
多生成几张之后会发现,奇奇怪怪的图片真不少,质量参差不齐。
获得更好的作用
首要咱们能够点开模型的介绍页面,看看模型的作者都有什么主张。 依据作者的主张,我做了如下调整:
加上负面词(Negative prompt): lowres, worstquality, low quality, normal quality, text, error, extra digit, jpegartifacts, signature, watermark, username, blurry 这些负面词,略微翻译下,就能懂他们的意思。
修正了参数:
- Sampler: DPM++ SDE Karras
- Sampling steps: 35
- CFG Scale: 5 这儿先不介绍这些参数的含义,仅仅是依照模型作者引荐的来设置。
再来点击 Generate ,生成看看。
生成时刻长了一些,大概 40s。 而且通过负面词筛掉了许多质量不佳的图片素材,出图作用确实变好了许多。
赋予图片主题
咱们供给的关键词过于简略,所以生成的图片没有一个一致的主题,所以咱们需求细化一下需求,扩大一下提示词中的画面描绘。
比方,现在我想要画一只黑熊站在枫叶林中操练挥剑。 修正关键词,把图片描绘的更细致: A black bear stood in the maple leaf forest and practiced waving his sword.
为了快速看到构图作用,能够调低 Batch count。
再次尝试生成:
手指的的生成问题,在运用 Stable Diffusion 时很常见,咱们能够暂时通过负面词去绕过这个问题。 Tips: 你假设运用和我相同的参数和关键词,填入相同的 Seed 就能复现我这张图哦~ 图片生成信息中可见 Seed: 620974436 。
举一反三
当有一张图片让咱们感觉不错,希望再得到相似的构思怎么做? 接下来咱们以这张”灰熊剑客”的构图为基准,来生成其他的图片。 点击生成图片下方的 Send to img2img 按钮。
点击后会主动跳转到 img2img 标签页。仔细观察能够发现,比较之前的页面又多了 2 个可调整的参数:

- 设置成 0 时,不会有任何改变;
- 设置成 1 时,会得到一个无关的绘图。
那咱们坚持之前的参数都不变,仅仅调整 Denoising strength ,来看生成多张图片的作用。
- Denoising strength: 0.75
- Denoising strength: 0.35

Resize mode,假设方针图画的宽高比与输入图画的宽高比不同,有如下几种方法能够调和差异:
- Just resize: 简略地将源图画调整为方针分辨率,或许导致不正确的宽高比。
- Crop and resize: 调整源图画的巨细,保留宽高比,使其占据整个方针分辨率,并裁剪杰出的部分。
- Resize and fill: 调整源图画的巨细,坚持宽高比,使其彻底适合方针分辨率,并从源图画中按行/列填充空白。
- Just resize (latent upscale):相似于 “Just resize”,但缩放是在潜在空间中完成的。运用大于 0.5 的 Denoising strength 来防止图画模糊。
咱们固定 Denoising strength 为 0 (即不生成新的绘图),尝试将 512×512 分辨率的原图调整为 300×600 的图片,观察在不同 Resize mode 下的改变。
起初我不是很能理解 Just resize (latent upscale) 的含义 ,感觉就是让原图变得更抽象了。 当我依据阐明中的提示把 Denoising strength 设置为 0.6 (即大于 0.5),再次生成:
这样生成的图片是明晰的,AI 发挥了构思的同时让这一组图片中的灰熊,变得更瘦了。看来 Just resize (latent upscale) 模式主要是用来和 Denoising strength 合作的。
进步分辨率
在不那么充裕的算力资源下,为了更多更快地生成图画,咱们不会设定过高的图片分辨率,可是当生成的成果让咱们满足时,分辨率不达预期怎么办? 在 Stable Diffusion 中供给了 Image AI upscaler (图画 AI 升频器),比方: ESRGAN 。 找到中意的图片,点击下方的 Send to extras 按钮。
点击后会主动跳转到 Extras 标签页。可是这儿的选项比较多,篇幅有限,简略给各位看官演示一下,今后文章中细聊。

持续探索
运用文本生成图片依赖适宜的模型,发挥构思组合关键词(Prompts),辅以调整参数获得满足的作用。
学习资源很多,能够多看看其他人的作品。 比方: prompthero.com/prompt-buil…

下面是我运用 Stable Diffusion 1.5 根底模型和相同的关键词生成的作品:
引荐一些发布 AI 艺术作品网站:
- prompthero.com/
- pixai.art/ 引荐一些 Prompts 学习笔记:
- www.creativindie.com/best-midjou…
- stable-diffusion-art.com/prompts/ 引荐一些模型市场:
- civitai.com/
- huggingface.co/models
总结
本次给我们共享了怎么开启你的 AI 绘图之旅,而 AI 艺术却不仅限于图画,假设我们对 AI 艺术感兴趣的话,引荐我们去看看这篇文章,它相当于是一个资源导航。 利用 AI 去发挥更多的构思吧!
引用 拓宽考虑 Q: AI 能作图,那么 AI 能够帮忙写作图关键词吗? A: 当然能够!可是下回再说。敬请期待之后的共享!
参阅
- github.com/AUTOMATIC11…
- github.com/camenduru/s…
- huggingface.co/xiaolxl/Guo…
- civitai.com/models/1259…
- developer.nvidia.com/cuda-11-8-0…
- pytorch.org/get-started…
- stable-diffusion-art.com/inpainting_…
- stable-diffusion-art.com/ai-upscaler…
- pharmapsychotic.com/tools.html



















