原文链接: fast style transfer 快速风格转换 model
上一篇: fast style transfer 快速风格转换 data
下一篇: fast style transfer 快速风格转换 train
网络模型模块
生成网络
generator函数接受的图像格式为NHWC,float32,数值大小转换到[-1,1]区间,输出图像为NHWC,float32,数值范围使用tanh后进行变换到[0,255]
构建网络时使用了大卷积核,这样可以有更大的感受野,具有学习范围更大的纹理能力
在输入时进行padding处理,输出层时将其剪裁掉,这样可以避免发生边缘效应
在内存允许的情况下,可以进行下采样和上采样,只要保证图像的输出大小和输入相同即可
损失网络
由于输入的图像和风格图像的size会反生改变,所以计算损失的函数也是使用tfe动态调用
损失网络的值相当大,风格损失基本上在10^10次方级别,内容损失10^6,平滑损失10^7
其中平滑损失表示图像中相邻像素之间的差值,为0时表示是一张纯色图像,用于减少头像中的噪点
model
import tensorflow as tf
import tensorflow.contrib.slim as slim
from tensorflow.contrib.slim import instance_norm
from config import *
import tensorflow.contrib.eager as tfe
import tensorflow.contrib.slim.nets as nets
def residual(x, filter_num, name):
with tf.variable_scope(name):