主要内容

cycleGANGenerator

创建用于图像到图像转换的CycleGAN生成器网络

描述

例子

= cycleGANGenerator (inputSize为大小的输入创建一个CycleGAN发生器网络inputSize.有关网络架构的更多信息,请参见CycleGAN发电机网络

此功能需要深度学习工具箱™。

例子

= cycleGANGenerator (inputSize名称,值使用名称-值参数修改CycleGAN网络的各个方面。

例子

全部折叠

为大小为256 × 256的RGB图像指定网络输入大小。

inputSize = [256 256 3];

创建一个CycleGAN生成器,生成输入大小的RGB图像。

净= cycleGANGenerator (inputSize)
net = dlnetwork with properties: Layers: [72x1 nnet.cnn.layer.Layer] Connections: [80x2 table] Learnables: [94x3 table] State: [0x3 table] InputNames: {'inputLayer'} OutputNames: {'fActivation'} Initialized: 1

显示网络。

analyzeNetwork(净)

为尺寸为128 × 128像素的RGB图像指定网络输入大小。

inputSize = [128 128 3];

创建一个带有6个残留块的CycleGAN生成器。添加前缀“cycleGAN6_”到所有的层名。

网= cycleGANGenerator (inputSize,“NumResidualBlocks”6...“NamePrefix”“cycleGAN6_”
net = dlnetwork with properties: Layers: [54x1 nnet.cnn.layer.Layer] Connections: [59x2 table] Learnables: [70x3 table] State: [0x3 table] InputNames: {'cycleGAN6_inputLayer'} OutputNames: {'cycleGAN6_fActivation'} Initialized: 1

显示网络。

analyzeNetwork(净)

输入参数

全部折叠

网络输入大小,指定为正整数的3元素向量。inputSize有表格[HWC),H的高度,W是宽度,和C为通道的数量。

例子:[28日28日3]为3通道图像指定28 × 28像素的输入大小。

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“NumFiltersInFirstBlock”,32在第一卷积层创建一个带有32个过滤器的网络

网络编码器模块中的下采样块数,指定为正整数。总的来说,网络对输入进行抽样,抽样因子为2^NumDownsamplingBlocks.解码器模块由相同数量的上采样块组成。

第一卷积层的滤波器数,指定为正偶数。

输出通道数,指定为“汽车”或者一个正整数。当你指定“汽车”,输出通道的数量与输入通道的数量相同。

第一层和最后一层的滤波器大小,指定为正奇整数或正奇整数的2元素向量,形式为[高度宽度].当您将过滤器大小指定为标量时,该过滤器具有相同的高度和宽度。

中间卷积层中的滤波器大小,指定为形式为正奇整数或正奇整数的2元素向量[高度宽度].中间卷积层是除第一卷积层和最后卷积层外的卷积层。当您将过滤器大小指定为标量时,该过滤器具有相同的高度和宽度。典型值在3到7之间。

剩余块数,指定为正整数。通常,该值被设置为6对于尺寸为128 × 128和9适用于尺寸为256 × 256或更大的图像。

网络中使用的填充样式,指定为以下值之一。

PaddingValue 描述 例子
数字标量 用指定的数值填充

3. 1 4 1 5 9 2 6 5 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3. 1 4 2 2 2 2 1 5 9 2 2 2 2 2 6 5 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

“symmetric-include-edge” 使用输入的镜像值(包括边值)填充

3. 1 4 1 5 9 2 6 5 5 1 1 5 9 9 5 1 3. 3. 1 4 4 1 1 3. 3. 1 4 4 1 5 1 1 5 9 9 5 6 2 2 6 5 5 6 6 2 2 6 5 5 6 5 1 1 5 9 9 5

“symmetric-exclude-edge” 使用镜像输入值(不包括边值)的Pad

3. 1 4 1 5 9 2 6 5 5 6 2 6 5 6 2 9 5 1 5 9 5 1 4 1 3. 1 4 1 3. 9 5 1 5 9 5 1 5 6 2 6 5 6 2 9 5 1 5 9 5 1 4 1 3. 1 4 1 3.

“复制” 使用输入的重复边框元素填充

3. 1 4 1 5 9 2 6 5 3. 3. 3. 1 4 4 4 3. 3. 3. 1 4 4 4 3. 3. 3. 1 4 4 4 1 1 1 5 9 9 9 2 2 2 6 5 5 5 2 2 2 6 5 5 5 2 2 2 6 5 5 5

用于上采样激活的方法,指定为以下值之一:

数据类型:字符|字符串

在卷积层中使用的权重初始化,指定为“glorot”“他”“narrow-normal”,或函数句柄。有关更多信息,请参见指定自定义权重初始化函数(深度学习工具箱)

在网络中使用的激活函数,指定为这些值之一。有关更多信息和可用层列表,请参见激活层(深度学习工具箱)

  • “relu”——使用一个reluLayer(深度学习工具箱)

  • “leakyRelu”——使用一个leakyReluLayer(深度学习工具箱)比例系数为0.2

  • “elu”——使用一个eluLayer(深度学习工具箱)

  • 一层对象

激活函数后的最后卷积层,指定为这些值之一。有关更多信息和可用层列表,请参见输出层(深度学习工具箱)

  • ”“双曲正切——使用一个tanhLayer(深度学习工具箱)

  • “乙状结肠”——使用一个sigmoidLayer(深度学习工具箱)

  • “softmax”——使用一个softmaxLayer(深度学习工具箱)

  • “没有”-不要使用最终激活层

  • 一层对象

在每次卷积后使用的归一化操作,指定为其中一个值。有关更多信息和可用层列表,请参见标准化,删除和裁剪图层(深度学习工具箱)

退出的概率,指定为[0,1]范围内的一个数字。如果指定值为0,则该网络不包括退出层。如果指定的值大于0,则网络包括adropoutLayer(深度学习工具箱)在每个残块中。

网络中所有层名的前缀,指定为字符串或字符向量。

数据类型:字符|字符串

输出参数

全部折叠

CycleGAN发生器网络,返回为dlnetwork(深度学习工具箱)对象。

更多关于

全部折叠

CycleGAN发电机网络

一种循环gan发生器网络由编码器模块和解码器模块组成。默认网络遵循Zhu等人提出的架构。[1]

编码器模块按2^对输入进行向下采样NumDownsamplingBlocks.编码器模块包括一个初始层块,NumDownsamplingBlocks将采样模块,NumResidualBlocks残块。解码器模块对输入进行2^倍的采样NumDownsamplingBlocks.解码器模块包括NumDownsamplingBlocks上采样块和最后一个块。

该表描述了组成编码器和解码器模块的层块。

块类型 默认块图
最初的块
  • 一个imageInputLayer(深度学习工具箱)

  • 一个convolution2dLayer(深度学习工具箱)步长为[1 1],滤光片大小为FilterSizeInFirstAndLastBlocks

  • 属性指定的可选规范化层NormalizationLayer名称-值参数。

  • 指定的激活层ActivationLayer名称-值参数。

图像输入层、二维卷积层、实例归一化层、ReLU层

将采样块
  • 一个convolution2dLayer(深度学习工具箱)步长[2 2]进行下行采样。卷积层的滤波器大小为FilterSizeInIntermediateBlocks

  • 属性指定的可选规范化层NormalizationLayer名称-值参数。

  • 指定的激活层ActivationLayer名称-值参数。

二维卷积层、实例归一化层、ReLU层

剩余块
  • 一个convolution2dLayer(深度学习工具箱)步长为[1 1],滤光片大小为FilterSizeInIntermediateBlocks

  • 属性指定的可选规范化层NormalizationLayer名称-值参数。

  • 指定的激活层ActivationLayer名称-值参数。

  • 一个可选的dropoutLayer(深度学习工具箱).默认情况下,剩余块省略掉dropout层。属性包含dropout层辍学名称-值参数作为范围(0,1)中的值。

  • 第二个convolution2dLayer(深度学习工具箱)

  • 可选的第二规格化层。

  • 一个additionLayer(深度学习工具箱)这在每个块之间提供了一个跳过连接。

二维卷积层、实例归一化层、ReLU层、二维卷积层、实例归一化层、加法层

Upsampling块
  • 上采样层,根据UpsampleMethod名称-值参数。卷积层的滤波器大小为FilterSizeInIntermediateBlocks

  • 属性指定的可选规范化层NormalizationLayer名称-值参数。

  • 指定的激活层ActivationLayer名称-值参数。

转置的二维卷积层,实例归一化层,ReLU层

最后一块
  • 一个convolution2dLayer(深度学习工具箱)步长为[1 1],滤光片大小为FilterSizeInFirstAndLastBlocks

  • 控件指定的可选激活层FinalActivationLayer名称-值参数。

二维卷积层,双键层

参考文献

[1]朱俊彦,朴泰成,菲利普·伊索拉,阿列克谢·a·埃弗罗斯。“使用循环一致对抗网络的图像到图像的非配对转换”。在2017 IEEE计算机视觉国际会议(ICCV), 2242 - 2251。威尼斯:IEEE 2017。https://ieeexplore.ieee.org/document/8237506

[2]朱俊彦,朴泰成,王通州。“PyTorch中的CycleGAN和pix2pix。”https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

介绍了R2021a