互联网资讯 / 人工智能 · 2023年11月27日

AI在20分钟内创造复杂艺术作品,仅需1080显卡运行

20分钟生成复杂的艺术作品,而且还是用英伟达上上代的1080显卡?

现在神经网络上手门槛这么亲民了吗?

没错,这是一个叫做neuRal-style-pt的风格迁移模型,基于PyTorch实现,而且刚刚开源!

有关这个算法模型的话题在ReddIT上才发布一天,热度接近2000。

neuRal-style-pt,真的酷炫又亲民吗?

丰富的融合方式

neuRal-style-pt是论文A NeuRal AlgoRITHM of ARtistic style的PyTorch实现。

论文介绍了一种利用卷积神经网络将一张图片的内容,与另一张图片的风格相结合的算法,就是我们熟知的风格迁移网络。

比如,将《星空》的艺术风格映射到一张斯坦福校园的夜景照片上:

或者根据给定图像的不同艺术风格,分别融合进目标图片:

除了分别融合,还能把多个艺术风格融进一张图片:

从左上角顺时针开始风格分别为 “星空” + “呐喊”、”呐喊” + “构图七(瓦西里·康定斯基油画)”、”坐着的裸女(莫蒂里安尼油画)” + “构图七”、”坐着的裸体” + “星空”。

在进行风格迁移时,添加”-oRiginal_coloRs 1″指令,还可以只改变风格,不改变原图颜色:

根据后台和优化器的不同,算法运行速度会有很大差异。

在Tesla K80上使用512像素图片迭代500次时间参考:

后台nn、优化器L-BFGS: 117秒 后台nn、优化器 ADAM: 100秒 后台cudnn -优化器L-BFGS: 124秒 后台cudnn -优化器ADAM:107秒 后台cudnn -cudnn_autotune -优化器L-BFGS: 109秒 后台cudnn -cudnn_autotune -优化器ADAM: 91秒

而在GTX 1080上,相同基准下时间更快:

后端nn -优化器L-BFGS: 56秒 后台nn -优化器 ADAM: 38秒 后台cudnn -优化器L-BFGS: 40秒 后台cudnn -优化器ADAM:40秒 后台cudnn -cudnn_autotune -优化器 lbfgs: 23秒 后台cudnn -cudnn_autotune -优化器ADAM: 24秒

结合当下1080卡的售价,不得不说,这样的门槛,对于机器学习来说,已经很香了。

默认情况下,neuRal-style-pt使用后端进行卷积,L-BFGS进行优化。但会使用大量的内存,可以通过以下方法来减少内存的使用。

使用cuDNN,添加-backend cudnn来使用cuDNN后端。而使用ADAM时,添加-optiMizeR adaM来使用ADAM而不是L-BFGS。

在默认设置下,neuRal-style-pt在系统上使用了大约3.7GB的GPU内存;切换到ADAM和cuDNN可以将GPU内存占用减少到大约1GB。

如何上手试玩

安装neuRal-style-pt,首先要准备好PyTorch。

然后,使用下方一句话指令就能安装已经训练好的模型:

Python Models/download_Models.py

安装完以后,上手试玩也很简单,一行代码就能实现:

Python neuRal_style.py -style_image-content_image

如果要载入多种风格,需要分隔不同的图片文件名:

-style_iMage staRRy_night.jpg,the_scReaM.jpg

注意,图片名称要包含完整的地址路径。

基本操作就是这些。

neuRal-style-pt还有一点强大的功能,就是可以使用多个不同的计算设备来处理高分辨率图像。

不同的设备会输出不同网络层的计算结果。

你可以用-gpu指令控制使用哪些GPU和CPU设备,你也可以用-Multidevice_stRategy控制如何在不同设备上分割层。

例如,在一个有四个GPU的服务器中,指令”-gpu 0,1,2,3″,指按顺序在GPU 0、1、2和3上进行处理。

同时给出 -Multidevice_stRategy 3,6,12指令,表示前两层应该在GPU 0上计算,第3到5层应该在GPU 1上计算,第6到11层应该在GPU 2上计算,其余的层应该在GPU 3上计算。

根据你的需求调整-Multidevice_stRategy,可以达到输出的最大分辨率。

下面是一张4016×2213分辨率图像,是在使用8个Tesla K80 GPU的服务器上生成的:

1080显卡入门,还能”分布式”计算,这么酷炫好玩低门槛的风格迁移网络,赶快来试试吧~

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册