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

本文介绍Stable Diffusion的快速上手,本地部署,以及更多有趣的玩法展示。

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

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

image.png

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

image.png

怎么上手玩起来

前两种方式都比较简单,Colab看起来复杂,实际上一步一步按照提示来,也很简单。所以本文着重讲解本地部署的步骤和如何解决会遇到的坑。

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

DreamStudio

最简单无脑的上手途径,打开官网,输入一段话,等待结果出来就可以。没啥好说的,适合快速上手体验一下,或者付费玩家。

image.png

Google Colab运行

“Colab”,是 Google Research 团队开发的一款产品。可以通过浏览器编写和执行Python。可以免费分配使用包括 GPU 在内的计算资源。

打开这个Colab笔记本页面,按照步骤和提示执行就OK了。可能存在的坑模型的载入,需要用到Hugging Face ,不过也都不是什么问题。

虽然看着繁琐,但是可以薅羊毛用免费的显卡资源,性能也还不错,还是很香的。
本地/云服务器部署

目前存在多个基于官方代码仓库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就可以。

可以官网下载对应的安装包,也可以命令行下载安装。

如果安装成功,可以通过 conda --version 查看版本,conda准备好就可以进入下一步。

4. 拉取Stable-Diffusion代码库到本地
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文件夹内找到生成出来的彩色甜筒🍦的图片。

image.png

可能出现的问题:

  • PytorchStreamReader failed reading zip archive
    • 模型文件下载不完整,重新下载即可

尝试把 --prompt 参数换成脑洞大开的各种描述词吧。其他参数详情可以参考git主页。

除了文字生成图,还有可以玩图生图。

一些能让图像更加有趣的提示词内容建议:

  • 描述画面里想要存在的元素,物品,情绪
    • 森林,秋天,雨水,雾,苔藓,城堡,樱花,海浪,山,神庙
  • 氛围,情绪
    • 快乐,阴郁,赛博朋克,霓虹,蒸汽朋克,原子朋克
  • 画风
    • 现实,逼真, 油画, 铅笔画, 概念艺术, 超现实,魔法,幻想,中国山水
  • 艺术家
    • 达芬奇, 梵高 (油画), 莫兰,莫奈 (风景),宫崎骏与吉卜力工作室
    • Artgerm(漫画精致五官),Yuko Shimizu(插画)
  • 润色和修饰(一些神奇咒语)
    • 虚幻引擎,octane render(3D渲染), ArtStation, 8k, 4k, washed colors

image.png

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。
  • 注意力计算是分部分完成的。
接入机器翻译,让他支持中文提示词

开启web服务,接入有道翻译api,让他自动翻译输入的中文提示词,并执行图片生成。

image.png

说到中文支持,百度文心大模型发布的“ERNIE-ViLG 文生图”,最近也在开放测试,有更好的中文语境理解,更能理解你的中文梗。不过完整功能需要申请体验,参数较少,可玩性比较弱。

更有意思的图生图

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

这是我尝试的,使用一个简单的线条图片,加上一段描述文字:“一只耐克鞋”,所生成的结果:

image.png

如果我把他的输出再次变为输入,重复渲染,可以得到更多不同的结果。甚至可以一秒换品牌…

image.png

Stability AI 的口号是 “AI by the people, for the people”。AI从群众中来,到群众中去。他可以单纯用来创作你天马行空的想象,也可以用作你文章的免费配图,能辅助你的工作,甚至能参赛获奖!赶快玩起来吧。

写在最后

感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。

AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。

在这里插入图片描述

一、AIGC所有方向的学习路线

AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

在这里插入图片描述

二、AIGC必备工具

工具都帮大家整理好了,安装就可直接上手!
在这里插入图片描述

三、最新AIGC学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述
在这里插入图片描述

四、AIGC视频教程合集

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

在这里插入图片描述

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

  • 16
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值