一、实验目的
学习掌握使用TensorFlow定义完整网络结构的方法,掌握使用TensorFlow恢复模型参数的方法,以实时风格迁移算法为例,掌握在CPU平台上使用TensorFlow进行网络推断的方法,理解DLP高性能算子库集成到TensorFlow框架的基本原理掌握在 DLP 平台上使用 TensorFlow 对模型进行量化并实现神经网络推断的方法。
二、背景介绍
· 图像转换网络
图像转换网络由三个卷积层、五个残差块、两个转置卷积层再接一个卷积层构成。除了输出层,所有非残差卷积层后面都加了批归一化(batch normalization,BN)[16] 和 ReLU 操作,输出层使用 tanh 函数将输出像素值限定在 [0, 255] 范围内;第一层和最后一层卷积使用 9 × 9 卷积核,其它卷积层都使用 3 × 3 卷积核;每个残差块中包含两层卷积。
- 残差块
图像转换网络中包含了五个残差块,其基本结构如图所示:输入x经过一个卷积层,再做ReLU,然后经过另一个卷积层得到F(x),再加上x得到输出H(x)=F(x)+x,然后做ReLU得到基本块的最终输出y。当输入x的维度与卷积输出F(x)的维度不同时,需要先对x做恒等变换使二者维度一致,然后再加和。
残差块结构
- 转置卷积
转置卷积又可以称为小数步长卷积,下图是一个转置卷积的示例。输入矩阵InputData是2×2的矩阵,卷积核Kernel的大小为3×3,卷积步长为1,输出OutputData是4×4的矩阵。
转置卷积
- 实例归一化