主要内容

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用summary查看摘要。

显示网络。

analyzeNetwork(净)

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

inputSize = [128 128 3];

创建一个带有六个剩余块的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查看summary。

显示网络。

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(深度学习工具箱)步长为[1 1],滤镜大小为FilterSizeInFirstAndLastBlocks

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

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

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

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

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

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

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

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

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

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

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

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

  • 可选的第二层归一化层。

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

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

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

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

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

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

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

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

二维卷积层,tanh层

参考文献

[1]朱俊燕,朴taesung Park, Phillip Isola, Alexei A. Efros。使用周期一致对抗网络的未配对图像对图像翻译。在2017 IEEE计算机视觉国际会议(ICCV), 2242 - 2251。威尼斯:IEEE 2017。https://ieeexplore.ieee.org/document/8237506

[2]朱俊燕,朴taesung Park,王通洲。“PyTorch中的CycleGAN和pix2pix。”https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

版本历史

介绍了R2021a

Baidu
map