只需一句话,在北鲲云上diffuse出一幅画

电子说

1.2w人已加入

描述


人工智能三大支柱,即算力、算法、数据,都离不开算力支撑。    
   最近,AI绘画大热,我们所说的“AI绘画”的概念,指的是基于深度学习模型来进项自动作图的计算机程序。
2012年,Google两位大名鼎鼎的AI大神使用1.6万个CPU训练了一个当时世界上最大的深度学习网络, 用来指导计算机画出猫脸图片. 当时他们使用了1000万个猫脸图片, 1.6万个CPU整整训练了3天, 最终生成到了一个非常模糊的猫脸。

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

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

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

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

  急剧增长。  

AI训练所需要的时间,取决于背后的GPU性能。

北鲲云怎么帮你画画?

Disco Diffusion

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

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

人工智能

接下来就一起看看怎么

在北鲲云超算平台上实现AI绘画。

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

例如32G显存的V100、40G和80G显存的A100。

人工智能

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

人工智能人工智能

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

 

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

 

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

 

module add Anaconda3source activate
 

 

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

 

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

 

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

人工智能

运行Notebook,分为四步:

环境搭建、模型设置、生成文字设置、生成图片

人工智能

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

人工智能

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

人工智能

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

人工智能

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

 

conda install -c pytorch pytorch torchvision torchaudio cudatoolkit=10.2conda install -c conda-forge opencv timm lpips ftfy einops omegaconf pandas

 

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

人工智能

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

人工智能

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

人工智能

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

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

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

人工智能

最关键的短语设置部分,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

人工智能人工智能

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

人工智能

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

人工智能

等计算完成后,可以到北鲲云控制台首页—

文件传输

里下载生成好的图片。

  人工智能

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

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

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

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

3 支持图形化界面操作

除此之外,北鲲云丰富的资源、一致的使用体验及极致的数据安全保障措施都获得了老师的好评。

基于北鲲云超算平台开发的北鲲云AI计算平台帮助用户无忧上云,大大提升计算效率。欢迎有相关需求的同学来找鲲宝咨询。

审核编辑 黄昊宇


 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分