点击上方“视学算法”,选择加"星标"或“置顶

重磅干货,第一时间送达

贾浩楠 发自 凹非寺
量子位 报道 | 公众号 QbitAI

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

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

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

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

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

丰富的融合方式

neural-style-pt是论文A Neural Algorithm of Artistic Style的Pytorch实现。

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

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

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

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

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

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

1080卡就能跑?

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

在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,可以达到输出的最大分辨率。

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

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

传送门:
https://github.com/ProGamerGov/neural-style-pt

—  —

本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。

点个在看 paper不断!

20分钟+1080显卡,能跑多复杂的模型?相关推荐

  1. 「分布式」艺术创作:20分钟+1080显卡,这个AI就能创造复杂作品 | 开源

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要6分钟 Follow小博主,每天更新前沿干货 转载自:量子位 20分钟生成复杂的艺术作品,而且还是用英伟达上上代的1080显卡? 现在神经网络 ...

  2. 20分钟,使用Amazon SageMaker快速搭建属于自己的AIGC应用

    真火! 作为最近一段时间人工智能领域内的顶流之一,AIGC(AI-Generated Content)早已火爆出圈,频登各大互联网平台热搜. cite: 微软亚洲研究院官方微博 这段时间以来,基于深度 ...

  3. 研究开源gpt-2-simple项目,跑一个简单的模型,然后生成一段对话。用的是 Intel(R) Core(TM) i7-9700,8核8线程,训练最小的模型200次跑1个小时20分钟

    目录 前言 1,关于gpt2的几个例子学习 2,使用docker配置环境 3,使用uget工具下载模型,文件大容易卡死 4,研究使用gpt2-simple执行demo,训练200次 5,总结 前言 本 ...

  4. java数据跑不出来,6000条数据,java下跑了20多分钟了还没跑完,求教怎么改进

    当前位置:我的异常网» Java Web开发 » 6000条数据,java下跑了20多分钟了还没跑完,求教怎 6000条数据,java下跑了20多分钟了还没跑完,求教怎么改进 www.myexcept ...

  5. 测量耐力也有算法了!仅需锻炼20分钟,就能知晓自己能跑多久

    衡宇 发自 凹非寺 量子位 | 公众号 QbitAI 想知道自己跑步的极限在哪里吗? 现在,仅需提供锻炼20分钟产生的数据,你就知道你跑多久会累趴下了. 背后的算法来自冰岛一家初创公司Driftlin ...

  6. 每天20分钟,只需一年,一年级学生英语听力达到六年级水平!关键是坚持一点都不难!

    导读: 除了语文数学这种常规科目,最让家长们焦虑的就是英语.现在的孩子,英语启蒙都很早,但是对英语的兴趣总是开始还可以,越往后越没动力和兴趣,稍微遇到点挫折就不想坚持了.钱也花了,好老师也请了,补习班 ...

  7. 如何在20分钟内批量部署20台ESXi服务器?

    如何在20分钟内批量部署20台ESXi服务器? https://mp.weixin.qq.com/s?__biz=MjM5NTk0MTM1Mw==&mid=2650642256&idx ...

  8. php 相对时间,php返回相对时间(如:20分钟前,3天前)的方法

    php返回相对时间(如:20分钟前,3天前)的方法 本文实例讲述了php返回相对时间(如:20分钟前,3天前)的方法.分享给大家供大家参考.具体如下: function plural($num) { ...

  9. java粒子特效_程序员20分钟搞定粒子效果, 仅仅200行代码

    原标题:程序员20分钟搞定粒子效果, 仅仅200行代码 这粒子的打造,确实没有布局代码,稍后大家在源码上可以看到,css代码都只有几行,绝大部分代码都是java代码,而且是原生java书写的,现在很多 ...

最新文章

  1. java数据模型公共类_UML数据建模工具之Enterprise Architect(EA)实例
  2. jstl标签的用法 fn标签
  3. Ubuntu 当黑屏解决方案安装
  4. java 对话框 位置_JAVAJOptionPane对话框的几种方法
  5. SSM格式化导出报表时间的格式
  6. 一个程序猿如何自学双截棍,避免各种编程职业病的发生?
  7. linux mono apache2,如何利用Mono创建Apache+mono环境(2)
  8. Java基础-----选择结构(一)
  9. STM32工作笔记0076---UCOSIII任务基础API_任务创建和删除
  10. ip=request.servervariables(Remote_Addr)获得ip显示::1
  11. AE “每用户订阅上的所有人SID 不存在”
  12. yuv420和yuv420p的区别
  13. 推荐系统的主要算法(1)
  14. i78750h怎么样
  15. Ignite分布式的内存数据库简单应用
  16. 通过MapReduce统计PV和UV
  17. 随机权重的PSO算法
  18. Jenkins使用过程遇到的问题记录
  19. 产品|B站2月份创作者分析
  20. 来自腾讯相当好的文章:研发效能度量实践指南

热门文章

  1. 【复盘】小朋友的奇思妙想
  2. Python 实现机器学习前后端页面的交互
  3. 2020 ACM Fellows 名单出炉,13 名华人入选,7 名来自国内!
  4. ELECTRA:超越BERT,2019年最佳NLP预训练模型
  5. 每30秒学会一个Python小技巧,GitHub星数4600+
  6. 分析Booking的150种机器学习模型,我总结了六条成功经验
  7. 糟心!苹果无人车裁员190人,程序员却首当其冲
  8. AI一分钟 | 南大用算法匹配室友,降低矛盾概率;丰田向Uber投5亿美元
  9. AI算法起家的今日头条为何败给了色情?一文告诉你机器学习何以搞不定鉴黄
  10. Google Brain团队最新视频介绍