PyTorch 1.0 中文官方教程:使用 PyTorch 进行图像风格转换
Posted wizardforcel
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyTorch 1.0 中文官方教程:使用 PyTorch 进行图像风格转换相关的知识,希望对你有一定的参考价值。
译者:bdqfork
作者: Alexis Jacq
简介
本教程主要讲解如何实现由Leon A. Gatys,Alexander S. Ecker和Matthias Bethge提出的 Neural-Style 算法。Neural-Style或者叫Neural-Transfer,可以让你使用一种新的风格将指定的图片进行重构。这个算法使用三张图片,一张输入图片,一张内容图片和一张风格图片,并将输入的图片变得与内容图片相似,且拥有风格图片的优美风格。
基本原理
原理很简单:我们定义两个间距,一个用于内容D_C
,另一个用于风格D_S
。D_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
以上是关于PyTorch 1.0 中文官方教程:使用 PyTorch 进行图像风格转换的主要内容,如果未能解决你的问题,请参考以下文章
PyTorch 1.0 中文官方教程:使用 Amazon AWS 进行分布式训练
PyTorch 1.0 中文官方教程:序列模型和LSTM网络