人工智能绘画工具 Disco Diffusion 入门教程

Disco Diffusion 是发布于 Google Colab 平台的一款利用人工智能深度学习进行数字艺术创作的工具,它是基于 MIT 许可协议的开源工具,可以在 Google Drive 直接运行,也可以部署到本地运行,目前最新的版本是 Disco Diffusion v5.2(本文撰写于 2022-04-14 日,目前最新版本为 v5.61,界面有所变化,但核心基本没变,教程部分可做参考)。

主创是 Somnai(@Somnai_dreams)和 Adam Letts(@gandamu_ml),在 Chris Allen(@zippy731)、HostsServer(@HostsServer)和 Tom Mason(@nin_artificial)的协作下迭代到了今天的版本。

用白话讲 Disco Diffusion 的基本工作就是把你给出的 Prompts(提示/描述)由文字信息变成图像信息,把你用文字描述的画面「画」出来。实际操作也基本如此,很简单,先来看几张用 Disco Diffusion 生成的图片。

Prompt: A digital painting of cyberpunk city by beeple, mist, trending on artstation, V-Ray.

Prompt: Spaceship about to landing on a cornfield, steampunk, clouds in the sky, by Greg Rutkowski, concept art.

Prompt: A beautiful painting of captivating castle on hills and mountains, along plains and rivers, Ismail Inceoglu.

图片下方是我给出的 Prompts,Disco Diffusion 会根据这些内容去生成画面,并且每一次都会产生不同的结果,这些还是我初期基本按默认参数渲染的,所以精度其实不算太高,如果提高参数设置,做出更好的描述,你会得到质量更高的图片。下面就进入教程环节吧。


准备工作

注册一个谷歌账号。


入门教程

01. 使用浏览器打开 Disco Diffusion v5.2 [w/ VR Mode](https://colab.research.google.com/github/alembics/disco-diffusion/blob/main/Disco_Diffusion.ipynb)。

02. 点击页面右上角「登录」按钮,登入你的谷歌账号。

03. 点击「复制到云端硬盘」或点击「文件」选择「在云端硬盘中保存一份副本」。


04. 副本创建完成会出现「笔记本的副本已完成」弹窗,点击在新标签页中打开」。

05. 单击「“Disco Diffusion v5.2 [w/ VR Mode]”的副本」修改笔记本名称(以下所有代码可视为源文件/源代码,此处是源文件的名称,可按创作主题或其他方式命名,方便后期修改和区分)。

06. 修改 batch_name(图片保存在云盘的名称);设置 steps,可按默认值(通常 200 - 300 已经足够,若效果不符合预期可适当调整);设置 width_height(图片尺寸,需是 64 的整数倍,免费用户请设置 1920x1080 以内的尺寸,否则会提示显存不足)。

07. 点击 Extra Settings 前面的小三角,设置 intermediate_saves(设置过程图保存张数,设置为 0 渲染完成只保存最后一张图,设置为 2,渲染完成会得到一张进度 33%、一张 66% 和一张 100% 的图片,数值越大数量越多,不影响渲染速度)。

08. 设置 Prompts(在这里输入描述画面的语句,格式为"XXXX, XXXX, XXXX.",建议在其他地方编辑好直接粘贴过来,保留最前和最后的引号,使用一个 Prompt 即可,不要求是完整的句子,可以是长短句或单词,可参考默认结构,前置词描述画作类别,中间描述画面内容,后接参考风格的艺术家,另外可以增加整体风格的词汇或者其他内容,emoji 也可以)。

09. 设置 display_rate(渲染预览图的刷新频率,建议设置为 5,每过 5 个 steps 更新一次预览图),设置 n_batches(以这个主题渲染的图片张数,因为每次渲染的结果都是不同的,所以可以设置多张图片,一张渲染完成后会接着渲染下一张,已经渲染完成的会自动保存,可按需要设置)。

10. 点击「代码执行程序」选择「全部运行」。

11. 弹出「笔记本需要高 RAM」的窗口,点击确定」。

12. 弹出「您还在设备面前吗?」的窗口,点击进行人机身份验证」,按指令进行验证。

13. 弹出「允许此笔记本访问您的 Google 云端硬盘文件吗?」的窗口,点击连接到 Google 云端硬盘」。

14. 弹出「登录 - Google 账号」窗口,选择你的谷歌账号点击允许」。

15. 回到 Disco Diffusion 的页面你会发现每段代码前面都有个中间有个三角形的圆,外面在转圈圈的就是在运行当前的代码,运行完成后前面会出现一个绿色的小勾,第一次运行需要等待几分钟,稍等片刻你会看到在「4. Diffuse!」的末尾会出现一张充满噪点的图,就表示开始渲染了,图片上方的 Batches 会显示你的渲染总进度,下方显示的是当前这张图的渲染进度,后面有预计的渲染时间,网页最下方会显示运行时间计时。

16. 过几分钟可能还会出现一次「您还在设备面前吗?」的弹窗,点击进行人机身份验证」,按指令进行验证,之后就可以慢慢渲了。( steps 设置为 250 实际上渲染只到 240,如果 display_rate 设置为了 5,那么图片下方的进度条每增加 5 个 steps 图片就会刷新一次,在这里右击是可以直接保存当前的图片的,当然按你的设置也会根据进度自动保存图片到你的谷歌云盘)

17. 之后你便可以在 Google Drive(https://drive.google.com)直接查看保存的图片了,在 AI - Disco_Diffusion - images_out 相应的文件夹里,若设置了 intermediate_saves 会多出一个 partials 的子文件夹,里面是过程图。所有的图片都是随着进程实时更新的,每完成一个进度就会自动保存一张,在这里可以把图片下载到本地。Colab Notebooks 这个文件夹里保存的是你的源文件。


进阶教程

除了直接用文字描述的方式,Disco Diffusion 也可以在一张图片的基础上做渲染,你可以选择自己拍摄的照片、涂鸦的画作或是之前渲染的图片作为一个起点,再配合 Prompts 描述变成一个全新的作品。

基础的操作是一致的,我们只需要多一个步骤,就是在 Settings 里写入 init_image。首先我们需要把使用的图片上传到 content 中,这里有两种操作方式。

方式一

01. 点击左侧的第四个「文件图标展开文件窗口。(如果是新建的文件可能会出现入门教程第 11、12 步的弹窗,确定加验证就可以了)

02. 点击文件窗口上方第一个「上传到会话存储空间图标,选择你要上传的图片并点击「打开」,图片就会开始上传(你也可以把图片直接拖进文件窗口的空白处)。

03. 上传完成后图片会显示在文件窗口的列表中,找到你要使用的图片并点击文件名后方的三个小圆点,选择「复制路径」。

方式二

01. 进入 Google Drive 登入你的账号,在云端硬盘左侧依次点击 AI - Disco_Diffusion - init_images 进入文件夹。

02. 把图片直接拖进文件窗口的空白处(你也可以在空白处右击选择上传文件)

03. 打开或新建 DD 文件,按方式一打开左侧文件窗口,在列表中依次展开 drive - MyDrive - AI - Disco_Diffusion - init_images,找到你要使用的图片并点击文件名后方的三个小圆点,选择「复制路径」。

若在文件窗口找不到 drive 文件夹,请点击文件窗口第三个「装载 Google 云端硬盘图标,并按提示操作,载入你的 Google 云端硬盘,若文件夹还未出现,请点击文件窗口第二个「刷新」图标。

04. 找到 Settings - Init Settings - init_image,将路径粘贴在此处。

05. 设置 init_scale(默认值为 1000,数值越小变化越大);设置 skip_steps(默认值 100,就是将你的图片处理为初始噪点后,直接从 101 步开始使用 Prompts 渲染)。

06. 按照入门教程设置其他内容并运行代码即可。


高阶教程

高阶玩法就是各种摆弄参数了,大家可以参考 Disco Diffusion 内的 Tutorial 部分,这里对部分参数做了一些解释,也可以研究一下 Zippy's Disco Diffusion Cheatsheet v0.3(https://docs.google.com/document/d/1l8s7uS2dGqjztYSjPpzlmXLjl5PM3IGkRWI3IiCuK7g/edit) 这个文档。

目前通过 v5.2 的版本我们不仅可以使用 DD 生成 2D 的图像,还可以制作 3D 的内容,包括视频,甚至可以制作 VR 视频。


注意事项

程序在运行过程中有可能会出现假死状态,表现为服务器状态显示忙碌、网页最下方出现红色感叹号,计时停止,显示已完成、5. Create the video 前方出现红色感叹号、网页左下角提示无法保存、进度条消失等等,其实极有可能这时候是处于假死状态,你需要观察预览图是否还在变化,如果可以观察到预览图还在变化更新,说明渲染还在继续运转,一切正常,不需要操作,等到渲染下一张图片时有可能恢复正常,如果没有恢复,只要看到预览图在实时更新,就表示渲染在正常进行,因此我建议将 display_rate 设置为 5 或更低,这样可以更快的看到画面的变化情况。

另外,有的情况预览图也会消失不显示,这时候如果你设置了 intermediate_saves 也就是保存过程图片,可以去云盘查看 partials 文件夹内是否有新进度的图片出现,如果在不显示预览的之后依然有新进度的图片保存在云盘,说明渲染在正常进行。所以也建议大家都设置一下 intermediate_saves,可以设置为5或更高,越高存储进度图的频率越高。

如果你完全按照教程操作,正常来讲是不会报错的,如果报错了,首先有可能是网络问题,其次有可能是因为参数设置问题,比如图片尺寸设置的过大,新手建议设置参考默认设置,变化不要太大,有些设置过大会导致需要更大的显存支持,有可能会超过配给你的 GPU 限额,因而导致报错。另外还有可能是 prompt 撰写错误,比如填写位置错误,格式错误等,注意把内容放在教程内所示的位置,并按要求填写,使用英文并不要随意添加符号及数字,如果要使用权重请把要增加权重的内容在第一个描述后加上逗号,并在新的引号内填写新内容及权重。

报错会有错误提示,请先自己查看,尝试解决,如果无法解决,建议点击 代码执行程序 - 重新启动并运行所有单元格,或点击磁盘后方的小三角点击 管理会话 - 终止会话 - 代码执行程序 - 全部运行,或打开 DD 原始链接重新复制一个文件,重新设置并运行,或尝试重新连接网络后再试。

展开阅读全文

页面更新:2024-05-05

标签:人工智能   云端   进度   入门教程   窗口   硬盘   代码   方式   建议   文件   工具   内容   图片

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top