听说 AI 平台上线公有云环境了,不仅能在家里访问,还有全新的交互体验,更重要的是还带来了更多的 GPU 卡,真是诚意满满呀!
听说 Nvidia 官方开源了,这个网络结构的神奇之处在于,能够学习已经有的一些人或者物体,充分发挥自己的想像,“创作”出新的类似人或物呢!那还等什么,赶紧一睹为快吧,体验下用建行人的 AI 平台跑起来是什么效果吧!
在使用平台之前,我们要先了解一下 stylegan2 依赖的环境,访问 ,往下翻到 Requirements 部分,我们看到以下描述:
上面大致是说,只能在 Tensorflow1.14+上跑,Tensorflow 2.x 就别想了。然后如果要复现论文,显存必须 16G 起步。TF1.14 就是说,RTX 30XX 的卡就别想了,因为他们只能使用 Cuda11,而 Cuda11 不支持 TF1.14;而 16G 显存的门槛,又把一大堆入门级显卡挡在了大门外,基本就只剩下可爱(guì)的 Tesla V100 了。
解决办法远在天边,近在眼前,它就在 “天权人工智能平台” 这里。登陆平台,点击左下角“个人开发环境设置”,选择带 GPU 卡的环境,点击下一步:
接下来的页面,选择 Tensorflow 1.14 的镜像,然后保存:
静静等待一会,环境就创建好了。
接下来创建一个实验。点击新建实验中的“空白 notebook”,输入实验名称“stylegan”:
然后就可以进入到下面的界面了:
先看看 GPU 卡情况:
然后我们把 stylegan 代码拉下来:
唉?好像有点问题,历经千辛万苦(此处省略 2000 字),我们拿到了 stylegan2 的代码,然后如此操作一番:
然后就有了 stylegan2 的代码了:
我们按照 github 上提供的方法测试一下这个环境:
非常好!看来基本环境没有问题。
接下来需要传模型,我们在 github 上找到了官方提供的预训练镜像,传送门在此 ,打开是这个样子:
我们看到官方一共提供了 5 类预训练镜像: car、cat、church、ffhq 和 horse。 其中 ffhq 是用来生成人像的模型,而其他的名字,小伙伴们都能顾名思义猜到啦!使用 wget 命令就可以把模型拉来了:
能连互联网,简直是美滋滋呀!
有了模型,赶快来试一试模型的效果怎么样吧~参考 github 上的说明,执行以下命令:
提示没有 numpy,原来是用错了命令,python 是 python2,而我们需要运行的命令是 python3。修改以后再试试,结果报了好长一串错误,我截取了其中一部分:
核心报错信息是 “C++ versions less than C++11 are not supported.”, 碰到问题当然不能束手无策,赶紧问问“度娘”,结果就找到解决思路了,在帖子 中告诉我们解决方法:
运行stylegan-v2报错:
error: #error "C++ versions less than C++11 are not supported.
解决方法:
打开dnnlib/tflib/custom_ops.py的 修改第64行:
将 cmd = 'nvcc ' + opts.strip()
改为:cmd = 'nvcc --std=c++11 -DNDEBUG ' + opts.strip()
复制代码
如此这般操作一下:
修改好要记得 Ctrl+S 保存,然后再执行一下原来的命令,就可以成功执行了!以下节选了一些日志:
生成的图片在 results 文件夹中:
我们把这些图片集中展示一下,执行以下代码:
from PIL import Image
result = Image.new("RGB", (512*5, 300*5))
for i in range(25) :
#因为跑生成的时候输入参数seed是6600-6625,所以生成的文件名也是如此编号
seq = i + 6600
#路径需要自行调整
img = Image.open("results/00008-generate-images/seed{}.png".format(seq))
#汽车模型生成的汽车有黑边,为了展示好看就把黑边裁剪了
img = img.crop(box=(0,100,512,400))
#把每张图片贴到汇总图上
result.paste(img, box=(i//5*512, i%5*300))
result.save('car.jpg')
复制代码
最后就可以得到聚合后的各种“神奇”的车了,也可以在平台上直接查看:
大部分车咋一看似乎很正常,不过我们仔细看也会发现有些车还是有问题:
我们如法炮制来试验一下其他的预训练模型效果如何。
以下是教堂的效果:
教堂的效果图总体还不错,不过部分图片的边缘有一些诡异的物件,此外有的教堂图片还“脑补”出了水印,这与训练集有很大关系。
再分别执行
和
from PIL import Image
result = Image.new("RGB", (512*5, 512*5))
for i in range(25) :
seq = i + 6600
#路径需要自行调整
img = Image.open("results/00009-generate-images/seed{}.png".format(seq))
img = img.resize((512,512))
result.paste(img, box=(i//5*512, i%5*512))
result.save('ffhq.jpg')
复制代码
就可以得到人像的生成效果:
需要注意哦,他们真的真的是计算机“脑补”出来的图像,这些人都不存在的!
如果要“欣赏”更多的“脑补图”,我们也给大家分享几个好玩的网站,传送门在此,有兴趣的同学们可以自己试试:
还有一个有趣的网站可以考考大家的“眼力”,分辨一下哪些图片是真实的,哪些图片是计算机“虚构”的,传送门在此: 下面是来自上述网站的一个无奖竞猜,请问哪张照片是真实的,哪张照片是虚构的呢?
再偷偷分享一个小技巧:如果人左右不对称(比如耳饰),或者人某些部位有些许非正常扭曲,或者背景、装饰很不和谐,极有可能就是 AI“脑补”的产物了!
好了,说了这么多,大家有没有心动了呢?赶紧登陆 AI 平台,自己动手体验一下有趣的 AI 模型吧!
传送门 ,互联网就可以访问哦~
原文链接:查无此人?!AI也能创作人像了