cs231 Style Transfer PyTorch:
我们将实现“使用卷积神经网络的图像风格迁移("Image Style Transfer Using Convolutional Neural Networks" (Gatys et al., CVPR 2015)。特征提取器的深层网络是SqueezeNet,它是在ImageNet上训练的一个小型网络模型,你可以使用任何网络,本案例我们选择了SqueezeNet,因为它的体积小,效率高。
# -*- coding: utf-8 -*-
import torch
import torch.nn as nn
import torchvision
import torchvision.transforms as T
import PIL
import numpy as np
from scipy.misc import imread
from collections import namedtuple
import matplotlib.pyplot as plt
from cs231n.image_utils import SQUEEZENET_MEAN, SQUEEZENET_STD
#%matplotlib inline
def preprocess(img, size=512):
transform = T.Compose([
T.Resize(size),
T.ToTensor(),
T.Normalize(mean=SQUEEZENET_MEAN.tolist(),
std=SQUEEZENET_STD.tolist()),
T.Lambda(lambda x: x[None]),
])
return transform(img)
def deprocess(img):
transform = T.Co