参考代码来源于 https://github.com/ProGamerGov/neural-style-pt

neural-style-pt 艺术风格迁移

一如既往的开头

最近事情比较少,人闲着也闲着。趁着周末到处跑,临近新年,也没怎么学习。
想写点什么博文,但是又不知道写啥哈哈哈哈哈。
于是,我想把公众号或者github(推荐专栏)看到的一些有趣的项目记录下来。

这是个风格迁移的项目。这种应该算生成类项目(GAN这类),但我也不确定这个模型的一些细节。
对于这类项目我兴趣蛮大的,只是一直没有机会遇到这种项目来实践。最开始了解到是从动漫人脸生成开始的,到后面去玩了下换脸技术,还有图像修复技术。比起检测任务来说,生成任务对视觉的感受更大。

1. download 项目 & 环境配置

把项目下载到本地下来,也可以直接通过git clone。可以直接打开最上方的github。

环境配置的话,首先是要配置好pytorch,就不说明怎么配置了。网上很多教程,(pytorch官网也可以直接安装官网进行配置)根据自己电脑的cuda版本下载对应的就行。我版本是torch 1.6.0 ;torchvision 0.7.0

2. 权重包的下载

项目提供了两个权重包VGG19和VGG16,通过这行代码下python models/download_models.py。但是可能速度很慢,自己在外面通过科学下载去下载下来最好,两个都是500mb大小,玩一玩的话只下载其中一个就行了。
VGG16:https://web.eecs.umich.edu/~justincj/models/vgg16-00b39a1b.pth
VGG19:https://web.eecs.umich.edu/~justincj/models/vgg19-d01eb7cb.pth
自己下载的话不能直接使用,download_models.py在下载完后还做了下修改,因此要修改一下download_models.py中的一点点东西,在运行一下。

如下,如果只下载VGG19的话,可以把VGG16删了。sd = torch.load("vgg19-d01eb7cb.pth")指向你上面通过网页下载完保存的路径,然后torch.save(sd, path.join("weights", "vgg19-d01eb7cb.pth"))修改完会保存在这里。修改后保存的位置,对应的要跟后面做前向推理中权重路径一样。

print("Downloading the VGG-19 model")
# sd = load_url("https://web.eecs.umich.edu/~justincj/models/vgg19-d01eb7cb.pth")
sd = torch.load("vgg19-d01eb7cb.pth")
map = {'classifier.1.weight':u'classifier.0.weight', 'classifier.1.bias':u'classifier.0.bias', 'classifier.4.weight':u'classifier.3.weight', 'classifier.4.bias':u'classifier.3.bias'}
sd = OrderedDict([(map[k] if k in map else k,v) for k,v in sd.items()])
torch.save(sd, path.join("weights", "vgg19-d01eb7cb.pth"))

3. 风格迁移

如果是安装python models/download_models.py下载的权重包,那可以什么都不用改,照着项目上的指令运行就可以做推理。python neural_style.py -style_image <image.jpg> -content_image <image.jpg> 分别输入风格的图像和被转移风格的图像就可以了。

但是我比较习惯自己去设置代码里面的参数来运行。(这样可以了解到有哪些参数可以调节,调参侠的职业修养

[深度学习 - 发现有趣项目] neural-style-pt 艺术风格迁移相关推荐

  1. [深度学习 - 发现有趣项目] masking-gan 人脸生成笑脸表情

    参考代码来源于:https://github.com/tgeorgy/mgan 人脸生成笑脸表情 1.有趣的项目 之前没事会经出翻github看项目,也会发现很多有趣的项目.迫于没什么时间,就过一眼就 ...

  2. [深度学习 - 发现有趣项目] 动漫图生成手绘草图 Anime2Sketch

    我公司的科室开始在公众号上规划一些对外的技术文章了,包括实战项目.模型优化.端侧部署和一些深度学习任务基础知识,而我负责人体图象相关技术这一系列文章,偶尔也会出一些应用/代码解读等相关的文章. 文章在 ...

  3. No module named MNIST_写给小白的用fashion-mnist入门机器学习和深度学习的简单项目(非常全面!!!)...

    这是一个入门机器学习和深度学习的小项目,以fashion-mnist数据为基础.分别利用机器学习(随机森林)和深度学习(多层感知机/卷积神经网络)方法进行训练.完整的包含数据读取,数据处理,训练, 验 ...

  4. AI 对抗超级细菌:麦克马斯特大学利用深度学习发现新型抗生素 abaucin

    内容一览:鲍曼不动杆菌是一种常见的医院获得性革兰氏阴性病原体,通常表现出多重耐药性.利用传统方法,发现抑制此菌的新型抗生素很困难.但利用机器学习可以快速探索化学空间,从而增加发现新型抗菌分子的可能性. ...

  5. 如何用 Python 进行基于深度学习的计算机视觉项目开发?

    令人惊喜的"智能"年代 深度学习有着广阔的前景 我们正处在一个"智能"的年代,比如智能手机中的语音助手.机器翻译和人脸识别:战胜过日本将棋冠军.国际象棋冠军, ...

  6. 【AI初识境】给深度学习新手开始项目时的10条建议

    这是专栏<AI初识境>的第12篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. 在成为合格的深度学习算法工程师,尤其是工业界能够实战的调参选手之前,总会踏足很多的坑. 今 ...

  7. python神经结构二层_《python深度学习》笔记---8.3、神经风格迁移

    <python深度学习>笔记---8.3.神经风格迁移 一.总结 一句话总结: 神经风格迁移是指将参考图像的风格应用于目标图像,同时保留目标图像的内容. 1."神经风格迁移是指将 ...

  8. 【深度学习笔记】cs231n neural networks 3

    cs231n neural networks 3笔记 Gradient checks 1. Use the centered formula 2. Use relative error for the ...

  9. 深度学习(二)——深度学习常用术语解释, Neural Network Zoo, CNN, Autoencoder

    Dropout(续) 除了Dropout之外,还有DropConnect.两者原理上类似,后者只隐藏神经元之间的连接. 总的来说,Dropout类似于机器学习中的L1.L2规则化等增加稀疏性的算法,也 ...

最新文章

  1. 单元格编辑后级联汇总刷新
  2. java集合——集合与数组间的转换+算法
  3. oracle 解锁 账户_oracle用户解锁三种方法
  4. oracle kepserve,Kepware.KEPServer\KEPServerEX_V5操作简介含opc quick client 连接测试
  5. 如何使用敏捷开发来赢得太阳能竞速赛
  6. 吴恩达机器学习 9.机器学习系统设计
  7. JavaScript学习(七十二)—严格模式
  8. SQL Server 2017:列存储就地更新
  9. MDK Pack安装包下载算法BUG
  10. pm8060raid卡命令
  11. 计算机二级msoffice操作题如何评分,计算机二级MSOffice操作题及答案解析
  12. windows xp\windows7\windows8\windows10\windows11原版镜像下载地址汇总
  13. easyui数据表格重置_Easyui 格式化列_EasyUI 教程
  14. oracle中的start with connect by用法
  15. 推土机距离(Wasserstein distance)以及其他几种常用的分布差异度量方法(mark)
  16. 管理的本质是协调还是决策?看看孙权是怎么做到的。
  17. 程序员缓解职业病的秘方
  18. AndroidQ(八)Android Q隐私:更改相机和连接
  19. JavaScript学习笔记 06、DOM元素—③定时器与延时器
  20. 2017北京林业大学「计蒜客杯」程序设计竞赛部分题解

热门文章

  1. Android更换默认主题
  2. sql n日均线-mysql presto
  3. 树莓派4B(ubuntu)设置wifi的方法
  4. Python项目实战 —— 01. 疾病预测结构化数据
  5. IOS面试题(经典)
  6. 分治算法详解:分而治之
  7. Unity VR 开发教程 OpenXR+XR Interaction Toolkit(八)手指触控 Poke Interaction
  8. Python练习笔记 - - 彩色宝石项链
  9. X-Bogus、_signature、mstoken、fp分析
  10. 5.6日华为笔试第三题解法