本文介绍Stable Diffusion的快速上手,本地安顿,以及更多幽默的玩法展示。

在 DALL-E 2 和 Imagen 之后,AI绘图领域又一个热乎的深度学习模型出炉——Stable Diffusion 。8月份发布的 Stable Diffusion 愈加高效且轻量,能够在消费级 GPU 上作业。StableAI公司表明:“它在速度和质量上的打破意味着它能够在顾客级的 GPU 上作业。这将容许研究人员和大众在一系列条件下作业它,并使图像生成普及化。”

这意味着现在你只需一句话和几十秒的时间,就能够让你脑海中天马行空的画面呈现在你眼前:

[Stable Diffusion] 三句话,让Ai帮你画18万张图

或许随手画一笔,让ai帮你加“亿点点“细节:

[Stable Diffusion] 三句话,让Ai帮你画18万张图

怎样上手玩起来

前两种方法都比较简略,Colab看起来杂乱,实践上一步一步依照提示来,也很简略。所以本文偏重阐明本地安顿的进程和怎样处理会遇到的坑。

  1. 官方在线Web App – DreamStudio
    • 最易上手,登录即可直接运用
    • 可视化调参
    • 免费次数有限
  2. Google Colab作业
    • 免费,次数无限
    • 操作略微繁琐
    • 不能持久作业
  3. 本地、云服务器安顿
    • 本地安顿免费,次数无限
    • 功用无缺,可玩性高
    • 硬件要求高
    • 租赁云服务挺贵
    • 初度安顿较为麻烦

DreamStudio

最简略无脑的上手途径,翻开官网,输入一段话,等候效果出来就能够。没啥好说的,合适快速上手体验一下,或许付费玩家。

beta.dreamstudio.ai/dream

[Stable Diffusion] 三句话,让Ai帮你画18万张图

Google Colab作业

“Colab”,是 Google Research 团队开发的一款产品。能够经过浏览器编写和实施Python。能够免费分配运用包括 GPU 在内的核算资源。

翻开这个Colab笔记本页面,依照进程和提示实施就OK了。或许存在的坑模型的载入,需求用到Hugging Face ,不过也都不是什么问题。

虽然看着繁琐,可是能够薅羊毛用免费的显卡资源,功用也还不错,仍是很香的。 colab.research.google.com/github/hugg…

本地/云服务器安顿

现在存在多个依据官方代码仓库fork出来的不同版别,能够有不同的安顿和作业方法,包括docker安顿,webUI。这儿阐明依据官方的原版进行安顿和运用,其他的方法都天壤之别。

硬件

本地10G显存以上的显卡(显存不行也有其他方法),或租赁拥有对应配备的云服务

环境依托

Python,Conda

详细进程

1. 下载模型权重文件

这个放在第一位是因为权重文件太大了,主张先下载起来,其他进程在操作时,他能够在后台逐渐下载。

现在最新的是sd-v1-4.ckpt,版别越高,练习的数据量越大,下载最新版别即可,4.27GB

去huggingface下载:huggingface.co/CompVis/sta…

curl下载:

curl https://www.googleapis.com/storage/v1/b/aai-blog-files/o/sd-v1-4.ckpt?alt=media > sd-v1-4.ckpt
2. 设备python

dddd, 不赘述

3. 设备Conda

Conda 是一个依托包和环境管理工具,有Anaconda 和 Miniconda两个版别,这儿运用Miniconda就能够。

能够官网下载对应的设备包,也能够指令行下载设备。

docs.conda.io/en/latest/m…

假定设备成功,能够经过 conda --version 查看版别,conda准备好就能够进入下一步。

4. 拉取Stable-Diffusion代码库到本地

github.com/CompVis/sta…

git clone https://github.com/CompVis/stable-diffusion.git
cd stable-diffusion/
5. 创立并激活 Conda 环境

a. 创立ldm环境

进入Stable Diffusion代码目录,运用environment.yaml文件,创立Conda环境。

conda env create -f environment.yaml

这个指令会依据environment.yaml文件,创立一个名字叫做ldm的虚拟环境,下载对应的依托。这一步是很容易呈现问题的当地,因为依托比较多,设备时间比较长。或许会呈现某些依托设备时间特别长,终究失利的状况。

或许呈现的问题:

  1. 因为进程中会用到pip设备依托,假定设备依托时间过长,能够在conda create实施前,先配备pip的国内镜像。依据我实践查验的状况,主张运用清华镜像,阿里云镜像也很慢。
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
  1. 假定呈现:Pip subprocess error: ERROR: Command errored out with exit status 128: git fetch -q … 的过失,则查看当时网络环境对github的访问是否晓畅。
  2. 设备失利查验再次设备时,或许呈现提示环境已存在。这时候能够删掉原本的ldm环境,再重试设备。
# 查看已存在环境
conda env list
# 先切换到base环境
conda activate base
# 删去ldm
conda env remove --name ldm

b. 激活ldm环境

conda activate ldm
6. 生成脚本跑起来!

走完前面这些进程,招认一下你的模型权重文件下载好了没有,--ckp 参数就指向这个文件。依照下面的参数,实施txt2img.py脚本。

python scripts/txt2img.py --prompt "rainbow ice cream cone" --plms --ckpt sd-v1-4.ckpt --skip_grid --n_samples 1

假定实施成功,你应该能够在output文件夹内找到生成出来的五颜六色甜筒的图片。

[Stable Diffusion] 三句话,让Ai帮你画18万张图

或许呈现的问题:

  • PytorchStreamReader failed reading zip archive
    • 模型文件下载不无缺,从头下载即可

查验把 --prompt 参数换成脑洞大开的各种描绘词吧。其他参数概略能够参考git主页。github.com/CompVis/sta…

除了文字生成图,还有能够玩图生图。

一些能让图像愈加幽默的提示词内容主张:

  • 描绘画面里想要存在的元素,物品,心境
    • 森林,秋天,雨水,雾,苔藓,城堡,樱花,海浪,山,神庙
  • 气氛,心境
    • 高兴,忧郁,赛博朋克,霓虹,蒸汽朋克,原子朋克
  • 画风
    • 实际,传神, 油画, 铅笔画, 概念艺术, 超实际,魔法,梦想,我国山水
  • 艺术家
    • 达芬奇, 梵高 (油画), 莫兰,莫奈 (风光),宫崎骏与吉卜力作业室
    • Artgerm(漫画精巧五官),Yuko Shimizu(插画)
  • 润饰和润饰(一些奇特咒语)
    • 虚幻引擎,octane render(3D烘托), ArtStation, 8k, 4k, washed colors

[Stable Diffusion] 三句话,让Ai帮你画18万张图

Ultra realistic photo, princess peach in the mushroom kingdom, beautiful face, intricate, highly detailed, smooth, sharp focus, art by artgerm and greg rutkowski and alphonse mucha

更多玩法

显存不行10G怎样玩

能够运用显存占用优化的版别,牺牲推理速度,以获得比原始版别更少的显存占用。能够运用2.4G显存生成512*512尺度图片。

为了削减显存运用进行的优化:

  • 将Stable Diffusion模型分成四个部分,仅在需求时才发送到 GPU。核算完毕后移回 CPU。
  • 注意力核算是分部分完毕的。

github.com/basujindal/…

接入机器翻译,让他支撑中文提示词

敞开web服务,接入有道翻译api,让他主动翻译输入的中文提示词,并实施图片生成。

[Stable Diffusion] 三句话,让Ai帮你画18万张图

说到中文支撑,百度文心大模型发布的“ERNIE-ViLG 文生图”,最近也在开放查验,有更好的中文语境了解,更能了解你的中文梗。不过无缺功用需求请求体验,参数较少,可玩性比较弱。

更有意思的图生图

除了单纯的文字作为输入生成图片,Stable Diffusion还支撑文字+图片作为输入,生成新的图片。就像最前面所展示过的,能够了解成你提供一个草图,ai依据你的要求,帮你增加亿点点细节。

这是我查验的,运用一个简略的线条图片,加上一段描绘文字:“一只耐克鞋”,所生成的效果:

[Stable Diffusion] 三句话,让Ai帮你画18万张图

假定我把他的输出再次变为输入,重复烘托,能够得到更多不同的效果。乃至能够一秒换品牌…

[Stable Diffusion] 三句话,让Ai帮你画18万张图

Stability AI 的标语是 “AI by the people, for the people”。AI从大众中来,到大众中去。他能够单纯用来发明你天马行空的幻想,也能够用作你文章的免费配图,能辅佐你的作业,乃至能参赛获奖!赶快玩起来吧。

AI画作拿下竞赛一等奖惹怒人类艺术家,主办方:照旧颁奖 mp.weixin.qq.com/s/C7KkFs1CR…