•微信扫码添加专属客服

•致电了解方案细节

电话:
顾问
只需一句话,在北鲲云上diffuse出一幅画
发布时间:2022-12-01
信息来源:北鲲云

人工智能三大支柱,即算力、算法、数据,都离不开算力支撑。


最近,AI绘画大热,我们所说的“AI绘画”的概念,指的是基于深度学习模型来进项自动作图的计算机程序。


2012年,Google两位大名鼎鼎的AI大神使用1.6万个CPU训练了一个当时世界上最大的深度学习网络, 用来指导计算机画出猫脸图片. 当时他们使用了1000万个猫脸图片, 1.6万个CPU整整训练了3天, 最终生成到了一个非常模糊的猫脸。

1.png

是不是感觉有点不可思议,2012年大规模计算机集群已经处于很现代水平了,可是结果确如此模糊。


大家或许有个基本概念, 深度学习模型的训练简单说来就是利用外部大量标注好的训练数据输入, 根据输入和所对应的预期输出, 反复调整模型内部参数加以匹配的过程。

那么让AI学会绘画的过程, 就是构建已有画作的训练数据, 输入AI模型进行参数迭代调整的过程。


一幅画带有多少信息呢? 首先就是长x宽个RGB像素点.再是绘画中每一笔的位置、形状、颜色等多个方面的参数, 这里涉及到的参数组合是非常庞大的. 而深度模型训练的计算复杂度随着参数输入组合的增长而急剧增长。AI训练所需要的时间,取决于背后的GPU性能


北鲲云怎么帮你画画?


Disco Diffusion为例,基于CLIP-Guided Diffusion网络,这是输入以下文字输出一张的图片,其实还可以选不同的画家风格。这个可以自己探索~


artstation,GregRutkowski,sea,dikel,ship,industrialization,cloud,time,future,afternoon


poYBAGNbfNWAbcKzAA712B-Vvtw004.png


接下来就一起看看怎么在北鲲云超算平台上实现AI绘画


北鲲云超算平台可以提供高性价比的一站式AI计算服务,根据平时的操作习惯,可以直接通过命令行提交作业。平台同时还有大量可供调用的GPU资源,例如32G显存的V100、40G和80G显存的A100

pYYBAGNbfNWAd9qGAAAJdvcz6MA732.png

启动一个T4的Jupyter Notebook Desktop,连接后Notebook会自动打开。

poYBAGNbfNWANQKJAADcyPQzDMc424.pngpoYBAGNbfNeAIYiYAACLR-rpomQ983.png

连接后先打开终端,将Notebook(Disco_Diffusion.ipynb)复制到本地


git clone https://github.com/alembics/disco-diffusion.git


由于项目要用pytorch,涉及到很多库的安装,最好使用Anaconda。Anaconda已经在平台上预装好了,可以通过以下命令进行加载


module add Anaconda3

source activate


我们可以创建一个独立的环境用来diffusion,python版本选3.9即可,并将该环境加到ipykernel中。

conda create-n diffusion python=3.9
conda activate
conda install-c anaconda ipykernel
python-m ipykernel install--user--name=diffusion


这时候即可打开Disco_Diffusion.ipynb,并选择diffusion作为kernel。

poYBAGNbfNiAb3naAAHBdj3wgFY858.png

运行Notebook,分为四步:环境搭建、模型设置、生成文字设置、生成图片

pYYBAGNbfNiAcZEkAAALOKOkEHw541.png

第一个单元检测本地的GPU。

pYYBAGNbfNmAUMTwAAPvPkkiRQk697.png

第二个单元会提示没有检测到colab,模型会选择本地的models文件夹。

poYBAGNbfNqABAQ_AABomWz1kTA103.png

第三个单元检测一些必须的依赖包,没装成的直接conda安装即可。由于这一步会下载文件,请耐心等待。

pYYBAGNbfNyAZewzAAZTMSIjSl8745.png

以下列出本例中安装的package和命令:

condainstall-cpytorchpytorchtorchvisiontorchaudiocudatoolkit=10.2condainstall-cconda-forgeopencvtimmlpipsftfyeinopsomegaconfpandas


后面三个单元定义了一些方法和模型,可以直接运行。

poYBAGNbfN2AF5aQAAAKeveREfs374.png

这里要注意默认用的是512*512的模型会比较吃显卡,前面可以调成256*256的。

poYBAGNbfN6Ae1hJAASxkCn6aoQ062.png

然后就是模型设置,这里batch_name是文件夹名,里面的图片也会根据这个命名。

poYBAGNbfOCANMT9AAaNYbOrjyU688.png

width_height是期望的最终图像大小,应该设置为64px的倍数,并且在默认的CLIP模型设置上至少设置为512px。如果忘记使用64px的倍数,DD会调整图像尺寸。


steps是迭代步数,越高细节越多。


然后Animation Settings和 Extra Settings,这两个可以先不动。

poYBAGNbfOCAW867AAAM7RDyXbw299.png

最关键的短语设置部分,text_prompts就是短语,0:是第一帧,如果是动画可以设置从哪一帧开始变风格,单个图片就设置一句就行。


image_prompts是基于哪张图片进行生成,这个也很有意思可以自己选图片实验。


怎么设置好的确是门艺术,不过大概有场景描述就可以生成,有喜欢的艺术家也可以加上,还有时间,地点也可以。


官方的例子描述是:"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.”


就是说:“greg rutkowski和thomas kinkade在Trending on artstation上绘制的一幅美丽的灯塔画,它的光芒照耀着一片喧嚣的血海。”


这里引入了两位艺术家,想查看其他艺术家可以看下方表格,两千多位艺术家可以选择:

https://docs.google.com/spreadsheets/d/14xTqtuV3BuKDNhLotB_d1aFlBGnDJOY0BRXJ8-86GpA/edit#gid=0


我们在此用的关键词是:high,performance,computing,cloud,scientist,drug,time,future,cyberpunk

pYYBAGNbfOKACfdyAALHm8yj1V8214.pngpYYBAGNbfOKAK7RDAAAKlFhkJZ0551.png

然后就是激动人心的生成了, n_batches是要生成的图片个数,默认是50会比较久,可以先设置1个测一下速度。点击运行后,图片就开始生成,并会一点一点变清晰。

poYBAGNbfOOAXz9tAAM0kL7ZUUc858.png

此时可以在终端里通过nvidia-smi查看GPU的使用率。

pYYBAGNbfOSACjZ_AAH6zraRQjY055.png

等计算完成后,可以到北鲲云控制台首页—文件传输里下载生成好的图片。

poYBAGNbfOmAERLuAAAPf9XN3rE204.png

清华大学某课题组正面临管理难、科研效率慢等问题,在多方对比后选择了北鲲云AI计算云平台。


据小鲲得知,以下几点是北鲲云打动课题组的关键点:


1. 满足每个账号有云主机多卡多节点并行

2. 已预装多种环境及数据集,可直接在平台上使用

3. 支持图形化界面操作


除此之外,北鲲云丰富的资源、一致的使用体验及极致的数据安全保障措施都获得了老师的好评。基于北鲲云超算平台开发的北鲲云AI计算平台帮助用户无忧上云,大大提升计算效率。欢迎有相关需求的同学来找平台客服咨询。