最近一段时间大火的AI绘画引起了各界人士的关注,但是stable diffusion开源的都是英文的模型,本文参考封神榜团队开源的太乙模型以及相关代码,利用stable diffusion web ui搭建一个中文的AI绘图模型,在本地实现AI绘画。
安装git工具用来下载相关项目文件,使用如下命令安装:(对于linux系统命令不熟悉的可以去apt-get(Advanced Package Tool)软件包管理命令和linux下常用命令详解)
apt-get install git
将这个页面的文件和文件夹下的文件均下载到本地,命名和路径均保持原样:
点击向下的下载箭头下载文件,如下所示:
使用git工具下载项目文件到本地文件夹,命令如下:
git clone https://github.com/IDEA-CCNL/stable-diffusion-webui.git
然后进入该文件夹:
cd stable-diffusion-webui
运行webui.sh安装一些python环境
bash webui.sh
之后会遇到以下的报错:
No checkpoints found. When searching for checkpoints, looked at:
- file /xxx/stable-diffusion-webui/model.ckpt
- directory /xxx/stable-diffusion-webui/models/Stable-diffusion
Can't run without a checkpoint. Find and place a .ckpt file into any of those locations. The program will exit.
这个是正常的,官方给的readme文件中也有说明,需要将项目文件修改一些内容已经把之前下载好的模型文件放进来。
在项目的根目录下,新建一个名为’Taiyi-Stable-Diffusion-1B-Chinese-v0.1’文件夹,将准备阶段下载好的模型文件放到该文件夹里:
如下所示:
然后将之前下载好的模型文件放到该文件夹里面,注意需要将所有的文件按照原样放到里面,如下所示:
然后将官方说明的一些文件进行替换,主要有两个文件,一个是:
stable-diffusion-webui/repositories/stable-diffusion/configs/stable-diffusion/v1-inference.yaml,将其替换成stable-diffusion-webui/repositories/stable-diffusion-taiyi/configs/stable-diffusion/v1-inference.yaml
命令如下(执行以下命令时需要你在项目文件夹的根路径下,即stable-diffusion-webui路径下):
cp ./repositories/stable-diffusion-taiyi/configs/stable-diffusion/v1-inference.yaml ./repositories/stable-diffusion/configs/stable-diffusion/v1-inference.yaml
一个是:
stable-diffusion-webui/repositories/stable-diffusion/ldm/modules/encoders/modules.py,将其替换成stable-diffusion-webui/repositories/stable-diffusion-taiyi/ldm/modules/encoders/modules.py
命令如下(执行以下命令时需要你在项目文件夹的根路径下,即stable-diffusion-webui路径下):
cp ./repositories/stable-diffusion-taiyi/ldm/modules/encoders/modules.py ./repositories/stable-diffusion/ldm/modules/encoders/modules.py
然后修改下面的配置文件:
将local_path设置为之前下载的文件Taiyi-Stable-Diffusion-1B-Chinese-v0.1.ckpt的绝对路径
运行以下脚本配置相关环境(执行以下命令时需要你在项目文件夹的根路径下,即stable-diffusion-webui路径下):
cd repositories/stable-diffusion
pip install -e .
cd ../../
最后执行以下命令即可在本地调用太乙模型实现AI作画:
python launch.py --ckpt ./Taiyi-Stable-Diffusion-1B-Chinese-v0/Taiyi-Stable-Diffusion-1B-Chinese-v0.1.ckpt --listen --port 12345 #端口可以自定义
然后在本地电脑输入:localhost:12345即可访问web ui界面做各种中文AI绘图的操作。具体详见第三章。
下面是一些常见的参数设置:
设置好参数后点击generate即可生成图片。
具体作画过程可以参考官方给的手册:腾讯文档】太乙绘画使用手册1.1
这里总结了一下主要有以下几点需要注意的地方:
1.画幅大小设置为512×512最佳。
2.建议不用任何中文标点符号。
3.赋予某种属性(4k壁纸, 插画, 油画等)可以帮助消除白边。
4.选择20-25之间作为采样迭代步数。
最后官方给了三种绘画场景,分别是:
古诗词
科幻
歌词
下面分别是官方给的几个AI生图的参考:
生图参数:
东临碣石, 以观沧海, 波涛汹涌, 插画
Negative prompt: 广告, ,, !, 。, ;, 资讯, 新闻, 水印
Steps: 20, Sampler: PLMS, CFG scale: 7, Seed: 939979121, Size: 832x448, Model hash: e2e75020, Batch size: 6, Batch pos: 0
如下所示:
生图参数:
科幻, 外星文明, 建筑, 4k壁纸
Negative prompt: 广告, ,, !, 。, ;, 资讯, 新闻, 水印
Steps: 20, Sampler: PLMS, CFG scale: 7, Seed: 570506184, Size: 512x512, Model hash: e2e75020, Batch size: 6, Batch pos: 0
如下所示:
生图参数:
日出在印象的港口来回, 唯美, 插画
Negative prompt: 广告, ,, !, 。, ;, 资讯, 新闻, 水印
Steps: 25, Sampler: PLMS, CFG scale: 7, Seed: 4210842626, Size: 832x448, Model hash: e2e75020, Batch size: 6, Batch pos: 0
如下所示:
达摩院通义文生图大模型
「文心·一格」——基于百度文心大模型能力的AI艺术和倡议辅助平台
华为云 文字生成图片Stable Diffusion
midjourney
ERNIE-ViLG AI 作画大模型
智源研究院大模型研究团队开源的双语 AltDiffusion 模型
二次元人物绘画网站
Stable Diffusion 2 Demo
stablediffusionweb
novelai
dreamstudio
[1] 封神榜团队开源代码参考 https://github.com/IDEA-CCNL/stable-diffusion-webui
[2] 封神榜团队开源太乙模型 https://huggingface.co/IDEA-CCNL/Taiyi-Stable-Diffusion-1B-Chinese-v0.1
[3] 【腾讯文档】太乙绘画使用手册1.1 https://docs.qq.com/doc/DWklwWkVvSFVwUE9Q
[4] AI画《三体》名场面 https://www.bilibili.com/video/BV1b14y1W7iq