[深度学习 - 发现有趣项目] neural-style-pt 艺术风格迁移
参考代码来源于 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 艺术风格迁移相关推荐
- [深度学习 - 发现有趣项目] masking-gan 人脸生成笑脸表情
参考代码来源于:https://github.com/tgeorgy/mgan 人脸生成笑脸表情 1.有趣的项目 之前没事会经出翻github看项目,也会发现很多有趣的项目.迫于没什么时间,就过一眼就 ...
- [深度学习 - 发现有趣项目] 动漫图生成手绘草图 Anime2Sketch
我公司的科室开始在公众号上规划一些对外的技术文章了,包括实战项目.模型优化.端侧部署和一些深度学习任务基础知识,而我负责人体图象相关技术这一系列文章,偶尔也会出一些应用/代码解读等相关的文章. 文章在 ...
- No module named MNIST_写给小白的用fashion-mnist入门机器学习和深度学习的简单项目(非常全面!!!)...
这是一个入门机器学习和深度学习的小项目,以fashion-mnist数据为基础.分别利用机器学习(随机森林)和深度学习(多层感知机/卷积神经网络)方法进行训练.完整的包含数据读取,数据处理,训练, 验 ...
- AI 对抗超级细菌:麦克马斯特大学利用深度学习发现新型抗生素 abaucin
内容一览:鲍曼不动杆菌是一种常见的医院获得性革兰氏阴性病原体,通常表现出多重耐药性.利用传统方法,发现抑制此菌的新型抗生素很困难.但利用机器学习可以快速探索化学空间,从而增加发现新型抗菌分子的可能性. ...
- 如何用 Python 进行基于深度学习的计算机视觉项目开发?
令人惊喜的"智能"年代 深度学习有着广阔的前景 我们正处在一个"智能"的年代,比如智能手机中的语音助手.机器翻译和人脸识别:战胜过日本将棋冠军.国际象棋冠军, ...
- 【AI初识境】给深度学习新手开始项目时的10条建议
这是专栏<AI初识境>的第12篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. 在成为合格的深度学习算法工程师,尤其是工业界能够实战的调参选手之前,总会踏足很多的坑. 今 ...
- python神经结构二层_《python深度学习》笔记---8.3、神经风格迁移
<python深度学习>笔记---8.3.神经风格迁移 一.总结 一句话总结: 神经风格迁移是指将参考图像的风格应用于目标图像,同时保留目标图像的内容. 1."神经风格迁移是指将 ...
- 【深度学习笔记】cs231n neural networks 3
cs231n neural networks 3笔记 Gradient checks 1. Use the centered formula 2. Use relative error for the ...
- 深度学习(二)——深度学习常用术语解释, Neural Network Zoo, CNN, Autoencoder
Dropout(续) 除了Dropout之外,还有DropConnect.两者原理上类似,后者只隐藏神经元之间的连接. 总的来说,Dropout类似于机器学习中的L1.L2规则化等增加稀疏性的算法,也 ...
最新文章
- 单元格编辑后级联汇总刷新
- java集合——集合与数组间的转换+算法
- oracle 解锁 账户_oracle用户解锁三种方法
- oracle kepserve,Kepware.KEPServer\KEPServerEX_V5操作简介含opc quick client 连接测试
- 如何使用敏捷开发来赢得太阳能竞速赛
- 吴恩达机器学习 9.机器学习系统设计
- JavaScript学习(七十二)—严格模式
- SQL Server 2017:列存储就地更新
- MDK Pack安装包下载算法BUG
- pm8060raid卡命令
- 计算机二级msoffice操作题如何评分,计算机二级MSOffice操作题及答案解析
- windows xp\windows7\windows8\windows10\windows11原版镜像下载地址汇总
- easyui数据表格重置_Easyui 格式化列_EasyUI 教程
- oracle中的start with connect by用法
- 推土机距离(Wasserstein distance)以及其他几种常用的分布差异度量方法(mark)
- 管理的本质是协调还是决策?看看孙权是怎么做到的。
- 程序员缓解职业病的秘方
- AndroidQ(八)Android Q隐私:更改相机和连接
- JavaScript学习笔记 06、DOM元素—③定时器与延时器
- 2017北京林业大学「计蒜客杯」程序设计竞赛部分题解