在矩池云使用Disco Diffusion生成AI艺术图
在 Disco Diffusion 官方说明的第一段,其对自身是这样定义: AI Image generating technique called CLIP-Guided Diffusion。DD 是通过 CLIP 来进行图文匹配,引导 AI 进行图像生成的技术,通过 Diffusion 持续去噪去生成图像的,而在整个过程中,CLIP 不断地评估图像和文本之间的距离,来为生成图像的整体方向进行指导,最终就体现为“输入文字-生成图画”,因此我们便可以通过文字来引导AI生成艺术风格图片。
启动矩池云快速使用Disco Diffusion
矩池云已经将 Disco Diffusion 镜像搭建在平台上,可以直接使用,无需再进行环境搭建,主机市场中多种 GPU 可供选择,具体流程为 主机市场-选择GPU-租用-搜索&点击Disco,点击“下单”即可。

机器显示为“运行中”之后,点击JupyterLab链接

进入后找到 disco-diffusion文件夹

双击 Disco_Diffusion 文件,即可打开项目

默认文字输入生成图像
更改图像输出路径 Tips
在开始训练前,可以将此处 outDirPath 处的 ‘{root_path}/out_images’ 代码进行调整,调整到矩池云网盘中即可,比如如下就改为了 /mnt/DD_result/out_images 这样,终止训练以后,图片会直接存在矩池云网盘中,管理起来更轻松~

点击菜单栏 Run ,选择 Run All Cells ,等待依次等待模型加载完成,即可默认的生成图像

默认状态生成图像如下
修改文字输入生成图像
在 3. Prompts 此处,可以对引号内容进行文字修改

图像输出文件夹
如果没有操作刚才的“更改图像输出路径 Tips”,最后状态的图像将自动保存在文件夹 images_out 中,双击 images_out 就可以看到训练好的图片。

当然如果训练结束后、关闭机器前,想把最终都输出结果保存到矩池云网盘,可以在 Jupyterlab 里新建一个Terminal

然后将下面指令复制粘贴,回车执行。
mv /disco-diffusion/images_out/TimeToDisco /mnt/DD_result/castle

这代表着将 DD 输出图像的文件夹 /disco-diffusion/images_out/TimeToDisco,保存到矩池云网盘 /mnt/DD_result/castle 路径下(这个是我自己创立的,如果是其他路径进行修改即可)。
那么我们就可以在网页端 “我的网盘” 中找到这个文件夹,展示如下

如果开通了 矩池云客户端网盘 (可以联系矩池云小助手开通),就可以轻松在本地计算机上进行访问,点击图片旁边的下载图标,即可存在本地。

如果需要更改默认下载到本地的文件夹,则可以点击左下角的设置图标,修改保存的路径。

以上是矩池云网盘 Mac版 界面,目前矩池云网盘客户端支持 Windows 和 Mac ,如果有需要可以联系矩池云微信小助手,仅需发送你的矩池云账号,即可申请开通。
进阶使用 Disco Diffusion : 输入文字
在修改描述语部分,我们在0后面的语句进行修改即可,100后面的内容可以维持原貌。
默认模式下的描述语如下:
["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."]
我们看到,句法结构可以总结为:图像种类 + 主题描述 + 艺术家描述 + 风格调整。
输入描述语(Prompts)的时候,图像种类、主题描述、艺术家描述和风格保持在同一个范畴中,AI 对于某位指定艺术家和该位艺术家之外的风格进行组合的情况,会产生迷惑。在实践中,我们发现使用艺术家风格对AI的构图、颜色的调整非常有效,当然这也尽显于那些纳入 DD 本身。
例如,在设置 Prompts 为 "A beautiful painting of castle on the cloud by Studio Ghibli, Trending on artstation." 出图情况为,云和城堡都为宫崎骏工作室出品的作品中常见的镜像,输入内容相对具有一致性,因此在图像的风格特色比较明显。


图像类型(Type/Subject)
"A beautiful painting of",是对图像进行描述,一定程度上,这一描述也会影响到图像的风格。譬如 sketch、pencil drawing, matte painting, watercolor painting, Oil painting, Portrait photography, Portrait,都是可以拓展尝试的关键词,其对应的绘画风格。
主题描述(Main idea)
"a singular lighthouse, shining its light across a tumultuous sea of blood",是对画面细节的描述。画面描述也是所有描述中需要费心思研究的部分,会因为在这一部分中,决定了画面中出现的形象。
在描述中,尽量使用确切的语句,比如确定的个数(比如写出具体的数字而不是 many)、形象的词而不是概述的词,同时不使用否定词,这一部分再在上手输入实践的时候,会有更深刻的体会。
艺术家(Artist)
"by greg rutkowski and thomas kinkade"是对艺术家的描述,可以包含一名或多名艺术家的风格。比如尝试奇幻的景色风格,可以用 Tyler Edlin, Mark Simonetti 的风格;科幻类,可以尝试Jim Burns, John Harris, Dean Ellis, H.R. Giger 的风格;动画类可以尝试 Studio Ghibli, Makoto Shinkai 的风格。
以下为社区中的尝试过的一些知名艺术家的风格,可以作为参考。
Hiroshi Yoshida, Max Ernst, Paul Signac, Salvador Dali, James Gurney, Thomas Kinkade, Ivan Aivazovsky, Italo Calvino, Norman Rockwell, Albert Bierstadt, Giorgio de Chirico, Rene Magritte, Ross Tran, Marc Simonetti, John Harris, Hilma af Klint, George Inness, Pablo Picasso, William Blake, Wassily i Kandinsky, Peter Mohrbacher, Greg Rutkowski, Paul Signac, Steven Belledin, Studio Ghibli, John Singer Sargent, Alfons Mucha, Gustav Klimt, John William Waterhouse, Zdzisław Beksiński, Edmund Dulac, Arthur Rackham, Ivan Bilibin, Gerald Brom
风格调整
"yellow color scheme" 是对画面颜色风格的描述;参考渲染方式为 Trending on artstation(专业CG艺术家社区,被称作A站)。参考的种类/渲染方式可以根据创作者的设想,进行设定。4k resolution, 8k resolution, Unsplash photo contest winner, Deviantart, pixelart 3d art, Digital art, Blender, Octane Render, Unreal engine, , Acrylic painting, Shot on film 35mm lens, Character design, Cgsociety, Mandelbulb 3D, Trending on Flickr, Vaporwave 等等。
值得注意的是,这里有提及到 4K resolution / 8K resolusion,这并不代表着图片将渲染为对应的尺寸,尺寸还需要在 Setting 中进行设置,这里指的是 AI 将吸取哪些 4K / 8K 分辨率的图像中所具备的特征。
输入方式对输出画面的影响
输入的结构和输出的图像有较大关系,在保持其他设置100% (包括随机变量)一致的情况下,用以下Prompts进行输入
"a magic realism painting by Gediminas Pranckevicius depicting an abandoned building in a field of flowers landscape, vibrant, cinematic lighting"
其结果为:

保持同样 Prompts 内容,仅仅改变断句方式,输入
"a magic realism painting by Gediminas Pranckevicius depicting an abandoned building in a field of flowers landscape", "vibrant cinematic lighting"
其结果为:

输入不同句式会对构图产生比较大的影响,这应当是 DD 模型的自主性比较强造成的。在语义方面,正如先前所说到,CLIP-Guided,意味着输入文字的含义如果存在误读的可能,那么 CLIP 也很有可能会对其进行误读,最终生成的图像也就有可能产生不一样的结果,这一过程可以在打磨图像的过程中持续体会。
图片生成来自于:https://www.matpool.com/
参考艺术家风格:https://weirdwonderfulai.art/resources/disco-diffusion-70-plus-artist-studies/
参考关键词: https://imgur.com/a/SnSIQRu
视频版:
在矩池云使用Disco Diffusion生成AI艺术图的更多相关文章
- 矩池云上安装ikatago及远程链接教程
https://github.com/kinfkong/ikatago-resources/tree/master/dockerfiles 从作者的库中可以看到,该程序支持cuda9.2.cuda10 ...
- 如何使用 VS Code 远程连接矩池云主机
Visual Studio Code(以下简称 VS Code)是一个由微软开发的代码编辑器.VS Code 支持代码补全.代码片段.代码重构.Git 版本控制等功能. VS Code 现已支持连接远 ...
- 矩池云 | Tony老师解读Kaggle Twitter情感分析案例
今天Tony老师给大家带来的案例是Kaggle上的Twitter的情感分析竞赛.在这个案例中,将使用预训练的模型BERT来完成对整个竞赛的数据分析. 导入需要的库 import numpy as np ...
- 矩池云 | 使用LightGBM来预测分子属性
今天给大家介绍提升方法(Boosting), 提升算法是一种可以用来减小监督式学习中偏差的机器学习算法. 面对的问题是迈可·肯斯(Michael Kearns)提出的:一组"弱学习者&quo ...
- 矩池云 | 教你如何使用GAN为口袋妖怪上色
在之前的Demo中,我们使用了条件GAN来生成了手写数字图像.那么除了生成数字图像以外我们还能用神经网络来干些什么呢? 在本案例中,我们用神经网络来给口袋妖怪的线框图上色. 第一步: 导入使用库 fr ...
- 矩池云 | 搭建浅层神经网络"Hello world"
作为图像识别与机器视觉界的 "hello world!" ,MNIST ("Modified National Institute of Standards and Te ...
- 矩池云 | 神经网络图像分割:气胸X光片识别案例
在上一次肺炎X光片的预测中,我们通过神经网络来识别患者胸部的X光片,用于检测患者是否患有肺炎.这是一个典型的神经网络图像分类在医学领域中的运用. 另外,神经网络的图像分割在医学领域中也有着很重要的用作 ...
- 矩池云上使用nvidia-smi命令教程
简介 nvidia-smi全称是NVIDIA System Management Interface ,它是一个基于NVIDIA Management Library(NVML)构建的命令行实用工具, ...
- 矩池云里查看cuda版本
可以用下面的命令查看 cat /usr/local/cuda/version.txt 如果想用nvcc来查看可以用下面的命令 nvcc -V 如果环境内没有nvcc可以安装一下,教程是矩池云上如何安装 ...
随机推荐
- Go学习-基本语法(一)
前言 一直对Service Mesh相关内容比较感兴趣,后面一路学习了Dcoker.Kubernetes等相关内容,可以说是对基本概念和使用有一定了解,随着开始学习一些相关的组件的时候,发现基本上全部 ...
- git 配置别名简化命令行和删除别名
废话不多说直接上添加别名语法 加上--global是针对当前用户起作用的,如果不加,那只针对当前的仓库起作用. git config --global alias.<自己想要的命令行> & ...
- 使用requests爬取梨视频、bilibili视频、汽车之家,bs4遍历文档树、搜索文档树,css选择器
今日内容概要 使用requests爬取梨视频 requests+bs4爬取汽车之家 bs4遍历文档树 bs4搜索文档树 css选择器 内容详细 1.使用requests爬取梨视频 # 模拟发送http ...
- 那些年你啃过的ConcurrentHashMap
前言 我是fancy,一个年纪轻轻bug量就累计到3200个的程序员,同事们都夸我一个人养活了整个测试组. 最近迷上了并发编程.并发这玩意怎么说呢,就是你平时工作用不到,一用就用在面试上.这不,又卷起 ...
- GET 与 POST 其实没有什么区别
GET 与 POST 其实没有什么区别 本文写于 2020 年 12 月 30 日 GET 与 POST 是两种 HTTP 方法,并且是最常用的两种. 今天在使用 Postman 测试 api 的时候 ...
- spring aop 记录 service 方法调用时长 - 环绕通知
添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp ...
- Spring Boot 动态修改 log level
引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp ...
- 【mq】从零开始实现 mq-11-消费者消息回执添加分组信息 pull message ack groupName
前景回顾 [mq]从零开始实现 mq-01-生产者.消费者启动 [mq]从零开始实现 mq-02-如何实现生产者调用消费者? [mq]从零开始实现 mq-03-引入 broker 中间人 [mq]从零 ...
- Redis设计与实现3.1:主从复制
主从复制 这是<Redis设计与实现>系列的文章,系列导航:Redis设计与实现笔记 SLAVEOF 新旧复制功能 旧版复制功能 旧版复制功能的实现为 同步 和 命令传播: 当刚连上Mas ...
- 145_Power BI Report Server自定义Form登录
博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 1.背景 很久没有更新Power BI Report Server了,发现自己机器还是2021年1月版本的,现在更新了20 ...