Perceptual Losses 风格迁移论文复现小记
看了一篇李飞飞组的论文 Perceptual Losses for Real-Time Style Transfer and Super-Resolution。
论文地址为:https://arxiv.org/pdf/1603.08155.pdf))
想去找找代码复现一下。
原文没有提供代码,就只有找找别人按照论文细节实现的代码。不过但是论文是2016年的,距离现在2023年已经很久了,所以找到的一些别人复现的代码的pytorch版本都比较老,难以使用。
不过还好找到了这个代码
https://github.com/pytorch/examples/blob/main/fast_neural_style/README.md
所以照着里面的指引可以很快利用其预训练模型去生成风格化的原图。
配环境也相对比较简单,选择适合自己CUDA版本的尽量新一点的pytorch即可。
conda create -n style python=3.10 -y
conda activate style
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch
但是想要自己训练某个风格的预训练模型的时候遇到了一点问题。
主要是readme里面写着使用 COCO 2014 Training作为训练集,于是我下载了该数据集,放在项目的根目录下,文件夹名字为train2014,但是调用的时候却出现了一个问题,报错大致为:
FileNotFoundError: Couldn't find any class folder in ./train2014。
主要是因为用了下面这句代码来加载训练集,
train_dataset = datasets.ImageFolder(args.dataset, transform)
但是ImageFolder这个类需要在数据集的大文件夹下再创建有子类文件夹。
一开始还以为需要去将这13G的图片按照类型放入各自的子文件夹中,比如cat/dog之类的,还找了一下有没有相应的,但是后面一想,这也不是分类问题呀,在训练过程中并不需要类别的ground truth,所以就继续去GitHub上寻找与该问题相关的issue,最后找到了:
https://github.com/pytorch/examples/issues/1039
这里面显示这其实是一个小bug,解决办法是在train2014文件夹下,将所有图片都放进一个子文件夹内,我将该子文件夹命名为no_label,然后--dataset还是使用相对路径 ./train2014 即可。
Perceptual Losses 风格迁移论文复现小记的更多相关文章
- Perceptual Losses for Real-Time Style Transfer and Super-Resolution and Super-Resolution 论文笔记
Perceptual Losses for Real-Time Style Transfer and Super-Resolution and Super-Resolution 论文笔记 ECCV 2 ...
- fast neural style transfer图像风格迁移基于tensorflow实现
引自:深度学习实践:使用Tensorflow实现快速风格迁移 一.风格迁移简介 风格迁移(Style Transfer)是深度学习众多应用中非常有趣的一种,如图,我们可以使用这种方法把一张图片的风格“ ...
- 图像风格迁移(Pytorch)
图像风格迁移 最后要生成的图片是怎样的是难以想象的,所以朴素的监督学习方法可能不会生效, Content Loss 根据输入图片和输出图片的像素差别可以比较损失 \(l_{content} = \fr ...
- Keras实现风格迁移
风格迁移 风格迁移算法经历多次定义和更新,现在应用在许多智能手机APP上. 风格迁移在保留目标图片内容的基础上,将图片风格引用在目标图片上. 风格本质上是指在各种空间尺度上图像中的纹理,颜色和视觉图案 ...
- 单图像三维重建、2D到3D风格迁移和3D DeepDream
作者:Longway Date:2020-04-25 来源:单图像三维重建.2D到3D风格迁移和3D DeepDream 项目网址:http://hiroharu-kato.com/projects_ ...
- keras图像风格迁移
风格迁移: 在内容上尽量与基准图像保持一致,在风格上尽量与风格图像保持一致. 1. 使用预训练的VGG19网络提取特征 2. 损失函数之一是"内容损失"(content loss) ...
- Gram格拉姆矩阵在风格迁移中的应用
Gram定义 n维欧式空间中任意k个向量之间两两的内积所组成的矩阵,称为这k个向量的格拉姆矩阵(Gram matrix) 根据定义可以看到,每个Gram矩阵背后都有一组向量,Gram矩阵就是由这一组向 ...
- 『cs231n』通过代码理解风格迁移
『cs231n』卷积神经网络的可视化应用 文件目录 vgg16.py import os import numpy as np import tensorflow as tf from downloa ...
- Distill详述「可微图像参数化」:神经网络可视化和风格迁移利器!
近日,期刊平台 Distill 发布了谷歌研究人员的一篇文章,介绍一个适用于神经网络可视化和风格迁移的强大工具:可微图像参数化.这篇文章从多个方面介绍了该工具. 图像分类神经网络拥有卓越的图像生成能力 ...
- ng-深度学习-课程笔记-14: 人脸识别和风格迁移(Week4)
1 什么是人脸识别( what is face recognition ) 在相关文献中经常会提到人脸验证(verification)和人脸识别(recognition). verification就 ...
随机推荐
- 每日一题 力扣 1090 https://leetcode.cn/problems/largest-values-from-labels/
每日一题 力扣 1090 https://leetcode.cn/problems/largest-values-from-labels/ 先对这道题目进行排序,贪心一下,要求分数最高的放在前面,而标 ...
- Go优雅的错误处理: 支持错误堆栈, 错误码, 错误链的工具库
地址: https://github.com/morrisxyang/errors 如果觉得有用欢迎 Star 和 PR, 有问题请直接提issue errors 简单的支持错误堆栈, 错误码, 错误 ...
- 永远拥抱开放生态 | Metaworld2.0能力发布
回看过去的二十年,互联网从门户网站发布信息,用户只能获取阅读:到如今的人人生产内容,再借助各类平台设施上传投递给其他用户.这个过程中,内容生产力的分布从集中转为分散,恰似互联网从1.0走向2.0的 ...
- Delta Lake_ High-Performance ACID Table Storage over Cloud Object Stores
论文发表于 2020年, 研究数据湖产品的很好的学习资料. 概要 开篇很明确的表明了为什么要做Delta lake这样一个产品. Databricks尝试将数据仓库直接架在云上对象存储之上, 这种尝试 ...
- 客户端软件接入QQ和Github第三方登录
原文地址: 客户端软件接入QQ和Github第三方登录 - Stars-One的杂货小窝 之前一直计划给现在系统加上第三方登录的功能,最近终于是有了时间去研究实现 因为逻辑实在有些繁琐,下面的记录尽量 ...
- Android LinearLayout快速设置每个item间隔
原文地址: Android LinearLayout快速设置每个item间隔 平常使用LinearLayout的时候,有时候会需要对每个item设置间距,但是每个item都加上margin的方法实在有 ...
- NOIP模拟测试A3
A. 谜之阶乘 题目是让我们把 \(n\) 分解成两个阶乘的商,本来想推个式子什么的,结果发现推不出来. 我们知道,阶乘的增长速率非常的快啊!那么这个 \(b - a\) 的值肯定不会太大,我们可以暴 ...
- Android 妙用TextView实现左边文字,右边图片
原文: Android 妙用TextView实现左边文字,右边图片 - Stars-One的杂货小窝 有时候,需要文字在左边,右边有个箭头,我个人之前会有两种做法: 使用线性布局来实现 或者使用约束布 ...
- 使用guestmount更改qcow2镜像内容
参考: 使用guestmount更改qcow2镜像内容 guestmount 安装 yum install libguestfs libguestfs-tools -y 使用 guestmount - ...
- Wampserver64 报错:无法启动此程序,因为计算机中丢失 MSVCR110.dll。尝试重新安装该程序以解决此问题。
缺少环境配置, 程序下载地址如下: https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=30679 点击下载,下载完成后,双击程 ...