看了一篇李飞飞组的论文 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 风格迁移论文复现小记的更多相关文章

  1. 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 ...

  2. fast neural style transfer图像风格迁移基于tensorflow实现

    引自:深度学习实践:使用Tensorflow实现快速风格迁移 一.风格迁移简介 风格迁移(Style Transfer)是深度学习众多应用中非常有趣的一种,如图,我们可以使用这种方法把一张图片的风格“ ...

  3. 图像风格迁移(Pytorch)

    图像风格迁移 最后要生成的图片是怎样的是难以想象的,所以朴素的监督学习方法可能不会生效, Content Loss 根据输入图片和输出图片的像素差别可以比较损失 \(l_{content} = \fr ...

  4. Keras实现风格迁移

    风格迁移 风格迁移算法经历多次定义和更新,现在应用在许多智能手机APP上. 风格迁移在保留目标图片内容的基础上,将图片风格引用在目标图片上. 风格本质上是指在各种空间尺度上图像中的纹理,颜色和视觉图案 ...

  5. 单图像三维重建、2D到3D风格迁移和3D DeepDream

    作者:Longway Date:2020-04-25 来源:单图像三维重建.2D到3D风格迁移和3D DeepDream 项目网址:http://hiroharu-kato.com/projects_ ...

  6. keras图像风格迁移

    风格迁移: 在内容上尽量与基准图像保持一致,在风格上尽量与风格图像保持一致. 1. 使用预训练的VGG19网络提取特征 2. 损失函数之一是"内容损失"(content loss) ...

  7. Gram格拉姆矩阵在风格迁移中的应用

    Gram定义 n维欧式空间中任意k个向量之间两两的内积所组成的矩阵,称为这k个向量的格拉姆矩阵(Gram matrix) 根据定义可以看到,每个Gram矩阵背后都有一组向量,Gram矩阵就是由这一组向 ...

  8. 『cs231n』通过代码理解风格迁移

    『cs231n』卷积神经网络的可视化应用 文件目录 vgg16.py import os import numpy as np import tensorflow as tf from downloa ...

  9. Distill详述「可微图像参数化」:神经网络可视化和风格迁移利器!

    近日,期刊平台 Distill 发布了谷歌研究人员的一篇文章,介绍一个适用于神经网络可视化和风格迁移的强大工具:可微图像参数化.这篇文章从多个方面介绍了该工具. 图像分类神经网络拥有卓越的图像生成能力 ...

  10. ng-深度学习-课程笔记-14: 人脸识别和风格迁移(Week4)

    1 什么是人脸识别( what is face recognition ) 在相关文献中经常会提到人脸验证(verification)和人脸识别(recognition). verification就 ...

随机推荐

  1. 【Mybatis】学习

    Mybatis 学习 环境搭建 pom.xml <!--log4j--> <dependency> <groupId>org.slf4j</groupId&g ...

  2. 手机免root安装最新青龙面板(非Alpine term | Zero term软件)

    使用软件:Termux 可以用于任何支持qemu虚拟机的环境.APP 制作了基本的系统环境.开发环境和青龙面板环境.多个虚拟机,按需求下载 官方网站:https://api.wer.plus 群:10 ...

  3. Pandas:获取Dataframe索引

    解决方案 效果图 参考链接 https://blog.csdn.net/YENTERTAINR/article/details/109254583

  4. CSS3新增了哪些选择器?(属性、结构伪类、伪元素选择器)

    在css3提供的新选择器之前,选择一个元素需要借助id或者class,css3新增的选择器可以更灵活的去选择需要的元素,那css3提供了哪些好用的选择器呢? 首先就是属性选择器,我们可以通过属性选择器 ...

  5. Spring Boot 启动流程追踪(第一篇)

    1.初始化 SpringApplication public SpringApplication(ResourceLoader resourceLoader, Class<?>... pr ...

  6. SpringBoot 启动流程追踪(第二篇)

    上一篇文章分析了除 refresh 方法外的流程,并着重分析了 load 方法,这篇文章就主要分析 refresh 方法,可以说 refresh 方法是 springboot 启动流程最重要的一环,没 ...

  7. 一张图读懂TuGraph Analytics开源技术架构

    TuGraph Analytics(内部项目名GeaFlow)是蚂蚁集团开源的分布式实时图计算引擎,即流式图计算.通过SQL+GQL融合分析语言对表模型和图模型进行统一处理,实现了流.批.图一体化计算 ...

  8. Unity TextMeshPro 添加中文字体遇见的问题以及解决方案

    前言 按标准官方教程为 Unity TextMeshPro 添加中文字体时出现了各种奇奇怪怪的问题,于是有了这篇随笔. 中文字体解决方案 以下步骤适用于 TextMeshPro 3.0.6. 字符数量 ...

  9. Linux-源码安装软件

    一.源码安装步骤 源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install). 1.配置(configure) Configure是一个可执行脚本,它 ...

  10. TDD、BDD、ATDD都是什么、有什么区别?(上)

    软件开发是一个迭代过程,包括编写.测试和改进代码,直到满足需求.测试驱动开发(TDD).行为驱动开发(BDD)和验收测试驱动开发(ATDD)是支持该过程的三种方法.TDD.BDD和ATDD都是软件开发 ...