PyTorch 1.0 中文官方教程:使用 PyTorch 进行图像风格转换

译者:bdqfork

作者: Alexis Jacq

简介

本教程主要讲解如何实现由Leon A. Gatys,Alexander S. Ecker和Matthias Bethge提出的 Neural-Style 算法。Neural-Style或者叫Neural-Transfer,可以让你使用一种新的风格将指定的图片进行重构。这个算法使用三张图片,一张输入图片,一张内容图片和一张风格图片,并将输入的图片变得与内容图片相似,且拥有风格图片的优美风格。

基本原理

原理很简单:我们定义两个间距,一个用于内容D_C,另一个用于风格D_SD_C测量两张图片内容的不同,而D_S用来测量两张图片风格的不同。然后,我们输入第三张图片,并改变这张图片,使其与内容图片的内容间距和风格图片的风格间距最小化。现在,我们可以导入必要的包,开始图像风格转换。

导包并选择设备

下面是一张实现图像风格转换所需包的清单。

  • torch, torch.nn, numpy (使用PyTorch进行风格转换必不可少的包)
  • torch.optim (高效的梯度下降)
  • PIL, PIL.Image, matplotlib.pyplot (加载和展示图片)
  • torchvision.transforms (将PIL图片转换成张量)
  • torchvision.models (训练或加载预训练模型)
  • copy (对模型进行深度拷贝;系统包)
from __future__ import print_function

import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim

阅读全文/改进本文

原文地址:https://www.cnblogs.com/wizardforcel/p/10350427.html

时间: 2024-10-11 00:09:16

PyTorch 1.0 中文官方教程:使用 PyTorch 进行图像风格转换的相关文章

PyTorch 1.0 中文官方教程:使用 Amazon AWS 进行分布式训练

译者:yportne13 作者: Nathan Inkawhich 编辑: Teng Li 在这篇教程中我们会展示如何使用 Amazon AWS 的两个多路GPU节点来设置,编写和运行 PyTorch 1.0 分布式训练程序.首先我们会介绍 AWS 设置, 然后是 PyTorch 环境配置, 最后是分布式训练的代码.你会发现想改成分布式应用你只需要对你目前写的训练程序做很少的代码改动, 绝大多数工作都只是一次性的环境配置. Amazon AWS 设置 在这篇教程中我们会在两个多路 GPU 节点上

PyTorch 1.0 中文官方教程:使用ONNX将模型从PyTorch传输到Caffe2和移动端

译者:冯宝宝 在本教程中,我们将介绍如何使用ONNX将PyTorch中定义的模型转换为ONNX格式,然后将其加载到Caffe2中.一旦进入Caffe2,我们就可以运行模型来仔细检查它是否正确导出,然后我们展示了如何使用Caffe2功能(如移动导出器)在移动设备上执行模型. 在本教程中,你需要安装onnx和Caffe2.您可以使用pip install onnx获取onnx的二进制版本. 注意: 本教程需要PyTorch master分支,可以按照 这里说明进行安装. # 一些包的导入 impor

PyTorch 1.0 中文官方教程:混合前端的 seq2seq 模型部署

译者:cangyunye 作者: Matthew Inkawhich 本教程将介绍如何是seq2seq模型转换为PyTorch可用的前端混合Torch脚本. 我们要转换的模型是来自于聊天机器人教程 Chatbot tutorial. 你可以把这个教程当做Chatbot tutorial的第二篇章,并且部署你的预训练模型,或者你也可以依据本文使用我们采取的预训练模型.就后者而言,你可以从原始的Chatbot tutorial参考更详细的数据预处理,模型理论和定义以及模型训练. 什么是混合前端(Hy

PyTorch 1.0 中文官方教程:对抗性示例生成

译者:cangyunye 作者: Nathan Inkawhich 如果你正在阅读这篇文章,希望你能理解一些机器学习模型是多么有效.现在的研究正在不断推动ML模型变得更快.更准确和更高效.然而,在设计和训练模型中经常会忽视的是安全性和健壮性方面,特别是在面对欺骗模型的对手时. 本教程将提高您对ML模型安全漏洞的认识,并将深入探讨对抗性机器学习这一热门话题.您可能会惊讶地发现,在图像中添加细微的干扰会导致模型性能的巨大差异.鉴于这是一个教程,我们将通过一个图像分类器上的示例来探索这个主题.具体来说

PyTorch 1.0 中文官方教程:序列模型和LSTM网络

译者:ETCartman 之前我们已经学过了许多的前馈网络. 所谓前馈网络, 就是网络中不会保存状态. 然而有时 这并不是我们想要的效果. 在自然语言处理 (NLP, Natural Language Processing) 中, 序列模型是一个核心的概念. 所谓序列模型, 即输入依赖于时间信息的模型. 一个典型的序列模型是隐马尔科夫模型 (HMM, Hidden Markov Model). 另一个序列模型的例子是条件随机场 (CRF, Conditional Random Field). 循

PyTorch 1.0 中文官方教程:空间变换器网络教程

译者:冯宝宝 作者: Ghassen HAMROUNI 在本教程中,您将学习如何使用称为空间变换器网络的视觉注意机制来扩充您的网络.你可以在 DeepMind paper阅读有关空间变换器网络的更多内容. 空间变换器网络是对任何空间变换的差异化关注的概括.空间变换器网络(简称STN)允许神经网络学习如何在输入图像上执行空间变换,以增强模型的几何不变性.例如,它可以裁剪感兴趣的区域,缩放并校正图像的方向.它可能是一种有用的机制,因为CNN对于旋转和缩放以及更一般的仿射变换并不是不变的. 关于STN

Varnish3.0中文官方翻译教程

本教程为官方教程的完整翻译.并做了一定总结.整理.整个Varnish的学习需要分成两个部分,PART1:部署篇,PART2:应用篇  第一部分:部署篇作为一个Server Service,部署是最基本的,同时也没有太多需要说明的.按照官方的教程,一运行便可了.但是需要注意的是,–perfix什么的,具体怎么设置的,可要好好的记住,否则,以后要查起来,可就没有头绪了.另外,装了什么样的插件也要清楚的.下面介绍下,安装方法.针对CentOS系统,有两种方法安装,一种是通过rpm,另一种是通过源码安装

ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布

原文:ActiveReports 报表控件官方中文入门教程 (2)-创建.数据源.浏览以及发布 本篇文章将阐述首次使用 ActiveReports 报表控件 的方法,包括添加报表文件.绑定数据源以及如何发布报表等内容. ActiveReports 报表控件官方中文入门教程 (1)-安装.激活以及产品资源 ActiveReports 报表控件官方中文入门教程 (3)-如何选择页面报表和区域报表 主要内容包括: 新建工程 在工程中添加ActiveReports报表文件 添加报表数据源 浏览报表 发布

ActiveReports 报表控件官方中文新手教程 (1)-安装、激活以及产品资源

?? 本系列文章主要是面向初次接触 ActiveReports 产品的用户,能够帮助您在三天之内轻松的掌握ActiveReports控件的基本用法,包含安装.激活.创建报表.绑定数据源以及公布等内容.本篇文章我们就从安装产品開始带您开启轻松的 ActiveReports 体验之旅. 系列文章列表: ActiveReports 报表控件官方中文新手教程 (2)-创建.数据源.浏览以及公布 ActiveReports 报表控件官方中文新手教程 (3)-怎样选择页面报表和区域报表 本文内容包含: 安装