主要内容

cycleGANGenerator

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

描述

例子

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

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

例子

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

例子

全部折叠

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

inputSize = [256 256 3];

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

net = 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];

用六个剩余块创建一个CycleGAN生成器。给所有层名添加前缀“cycleGAN6_”。

net = 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,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:“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” 使用输入的镜像值填充,不包括边缘值

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,则该网络包含一个dropoutLayer(深度学习工具箱)在每个剩余块中。

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

数据类型:字符|字符串

输出参数

全部折叠

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

更多关于

全部折叠

CycleGAN发电机网络

cycleGAN发生器网络由一个编码器模块和一个解码器模块组成。缺省网络采用Zhu等人提出的体系结构。[1]

编码器模块按2^的因子对输入进行采样NumDownsamplingBlocks.编码器模块由初始层块组成,NumDownsamplingBlocks下采样块,和NumResidualBlocks残块。解码器模块对输入进行2^的上采样NumDownsamplingBlocks.解码器模块由NumDownsamplingBlocks上采样块和最后一个块。

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

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

  • 一个convolution2dLayer(深度学习工具箱)步幅为[11],滤镜大小为FilterSizeInFirstAndLastBlocks

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

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

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

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

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

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

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

剩余块
  • 一个convolution2dLayer(深度学习工具箱)步幅为[11],滤镜大小为FilterSizeInIntermediateBlocks

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

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

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

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

  • 可选的第二归一化层。

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

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

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

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

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

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

最后一块
  • 一个convolution2dLayer(深度学习工具箱)步幅为[11],滤镜大小为FilterSizeInFirstAndLastBlocks

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

二维卷积层,tanh层

参考文献

[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中引入