部分章节由团队小吴撰写
首先澄清一个常见的误解:
什么是 ipynb 文件?
Google 账号 和 Google Driver
Colab 需注册/登陆后才能使用。所以你首先得开一个 Google(Gmail)账号 Google 该服务不能在中国直接使用,请自行解决。 每个 Google 提供所有帐户 15G 的免费 Google Driver (云盘空间) DD 所需的模型将被下载到您身上 Driver 里 使用 DD 时会用到的 initial_image (底图)需要 你 上传到 Driver每次操作生成的作品图片也会自动保存 Driver 。预览不同进度的中间步骤结果 (设置需要修改,然后介绍) 在运行过程中,Colab 请求授权取得你 Driver 请允许访问权限。
关于 GPU
使用部署在 Colab 上的 DD,使用的 GPU 都是 Google 免费(财大气粗) Colab notebook 虚拟机需要连接云并提供计算资源才能运行。免费账户最多有机会运行 12 小时,注意有机会 Colab notebook 如果空闲时间过长,将与虚拟机断开连接
NVIDIA? Tesla? K80 (普通大剑) NVIDIA? Tesla? T4 (标准重剑) NVIDIA? Tesla? P100 (银骑士的剑) NVIDIA? Tesla? V100(深渊大剑) NVIDIA? Tesla? A100(霜之悲伤)
https://lambdalabs.com/blog/nvidia-a100-vs-v100-benchmarks/
Colab 的用量限制
关于付款 Colab Pro 服务
更快的GPU——这意味着图片的等待时间会缩短 运行时间更长——意味着每天可以有更多 notebook 运行时间长,闲置超时断开服务频率会更低) 更大的存储空间——但不是 Google Driver 如果试用了四五个模型不通用的空间TTI 工具,15 G 默认存储空间很容易填满。 Google Driver 需要额外支付。记得清理完毕后不需要的文件,清空回收站。清空后回收的存储空间需要一段时间才能供应 Colab 使用
我在 Colab 里干什么?
下面是在 Colab 里运行 DD 的图文教程,从 0 到 1。
设置浏览器语言
点击 高级 (Advanced),语言 (Language),添加语言 (Add language)
在弹窗里拖拽滚动条,将
英语 添加进来。也可以在弹窗右上角输入EN 快速搜索到 英语。点击 英语 这一行右端的 三个点,从设置框里 勾选 以这种语言显示 Google Chrome
点击 中文 这一行右端的三个点,从设置框里 移除(中文)。
点击 重新启动按钮 重启浏览器。
Google 账号注册
开始注册。浏览器打开谷歌登录页:
点击创建账号,为自己创建:
如下图,填写完用户、账号名,密码,点 Next:
国家选择中国,输入你的手机号,点 Next:
输入手机收到的 6 为数验证码,点验证 Verify:
输入生日(年龄不能太小,否则会拒绝注册),选择性别:
点跳过 Skip:
拉到最下面,点同意 I agree:
https://colab.research.google.com/drive/10HUmA5laY1e1q7sYGg19Ys2lFM60M_T5(这个是最新版本,加了对 ViT/L-14@336px 模型的支持和对称优化。但 ViT/L-14@336px 需要抽到非常好的 GPU 资源才能勾选)
从来没有使用过 Notebook 的同学看见这个页面可能有点心慌,Don’t panic!非常简单。我做了一个极简的 ipynb 的文件用来演示结构,一看就明白。
这里的文档已经严重过时。完全可以不看,所以不需要打开 “Tutorial” 前面的折叠箭头。
授权协议使用 MIT License,说明 DD 是开源,免费,可商用的(但是,使用这个工具生成的艺术品,如果商用,可能需要注意避免使用风格特别明显的艺术家的风格,有侵权风险)
-
检查 GPU 状态(这里可以看到你抽到了什么GPU)
连接谷歌云盘
安装、配置依赖项
定义功能函数等
Set up 的准备工作会需要你在多个弹窗里点确认。一律允许就可以。只要没有卡住不动 或 出现红色 就算运行通过。
-
基础设置(重要)
动画设置
高级设置
提词 Prompts 修改(重要)
使用默认设置生成第一张图片
点击菜单栏里的 代码执行程序(Runtime),点击 全部运行(Run all)
如果你没找到菜单栏,请复习上面 极简 ipynb demo 截图说明。
点击 连接到 Google 云端硬盘
弹出对话框选择你想授权给 Colab 的 Google Driver 账号:
下拉弹窗的滚动条,点击底部的 允许:
多点耐心,第一次运行 DD 会下载多达 3G 的模型到你的 Google driver 里。但以后运行都不再需要等下载了。。
单元格的运行状态是你需要关注的。
长得像播放器图标的运行按钮前面有
绿色对勾 代表已运行通过中间变
方块 的运行按钮代表正在运行中。点击它可以中止运行运行按钮变成
红色 意味着遇到问题。需要查看出错信息点击变成红色的运行按钮尝试再次运行
常见出错可能包括
Google Driver 空间不足
跟云端提供计算资源的虚拟机的连接终端
超过本日免费试用限额
运行过程中你可以随时点击菜单里的 代码执行程序(Runtime),中断执行(interrupt execution),来结束程序运行。
但第一次使用 DD 建议不要中止,让程序自动执行完成初始化。
等候的过程中,你可以在目录里点击1.1 Check GPU Status,看看自己是不是抽到了史诗级 GPU。图中显示我们这次抽到了 标准重剑 T4:
在目录里点击 3. Settings 找到 Prompts ,有一个 DD 默认写好的 Prompt :
"A beautiful painting of a singular lighthouse, shining its light across a tumultuous sea of blood by greg rutkowski and thomas kinkade, Trending on artstation", "yellow color scheme"
"一幅美丽的画,画的是一座奇特的灯塔在,光芒照耀着一片动荡的血海,参考艺术家 Greg Rutkowski 和 Thomas Kinkade,Artstation 流行画风, 黄色配色。"
第一次运行我们不修改 Prompt,让这个 ipynb 完整执行。
一切顺利的话,你将会在 4. Diffuse ! 的单元格里看到图片正在生成。
初始是一片灰色的噪点,色彩和形状慢慢从噪点里浮现出来。你的第一张 AI 绘画作品正在穿越神经网络,前来和你相遇。
图片上面的 batches 进度条:代表这个 Prompt 会一次生成 50 张,目前正在生成第一张。什么人想要 50 张灯塔???
而当前正在生成这张作品的进度条在图片底部。如下图底部,
2%:当前进度。
4/240:已经运行完 240 步里的前 4 步。
[00:16<16:15]: 已耗时16 秒,还需要 16 分 15 秒出结果。
完成后,每个人都会收获一张跟下图风格类似的作品,但每个人每次执行,结果都会有所不同,是独一无二的。
此后你也要经常意识到,跟你打交道的是概率模型,没有什么确定的,意外和随机是 DD 不可分离的属性。
把灯塔留作纪念吧,你不会再想生成它了。
再往前一步
如果你想再来一张别的, 先点击下面截图 Do the Run ! 前面的运行按钮,让它中止。
顺便把 n_batches:50 改为 1 或者2,这样每个 Prompt 就只会出 1 或 2 张图。
修改 prompt:试试下面的
a detailed matte painting of blue ocean, waves, a black whale flying in the sky, by Caspar David Friedrich, Trending on artstation
这段文字替换掉原来的 prompt。注意要保留 两端的 英文双引号。如果 prompt 在一行里包含了太长的文本会报错。需要如下拆成 2 行,用英文逗号隔开两组双引号包围的文本。
"the first line",
"the second line"
注意是替换掉 0: ["_________"], 而不是 100: ["________"]。
100 的给动画设置用的。你可以再 “100” 前面加一个 # 注释掉它。眼不见心不烦。
是的,你又在写码了。
改完后要先
再
回收作品文件
所有生成完的图片都保留在你的 Google Driver。当然你也可以页面上直接图片右键另存为。下面网址访问:
https://drive.google.com/
按图示路径找到 TimeToDisco 目录。
如果你不喜欢DD,想清理掉占空间的模型文件,请按图示路径找到 models 目录,删除,清空回收桶。
祝玩得愉快
——————
下一篇教程讲 如何有效构建 Prompt
关于 Colab:https://research.google.com/colaboratory/faq.html?hl=zh-CN