主要内容

cycleGANGenerator

创建CycleGAN生成器image-to-image网络翻译

自从R2021a

描述

例子

= cycleGANGenerator (inputSize)创建一个CycleGAN发电机网络输入的大小inputSize。关于网络体系结构的更多信息,请参阅CycleGAN发电机网络

这个函数需要深度学习工具箱™。

例子

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

例子

全部折叠

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

inputSize = (256 256 3);

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

净= cycleGANGenerator (inputSize)
网= dlnetwork属性:层:x1 nnet.cnn.layer.Layer[72]连接:[80 x2表]可学的:[94 x3表]状态:[0 x3表]InputNames: {“inputLayer”} OutputNames: {“fActivation”}初始化:1观点总结总结。

显示网络。

analyzeNetwork(净)

指定网络输入大小的RGB图像大小128 -,- 128像素。

inputSize = (128 128 3);

创建一个CycleGAN发生器有六个残块。添加前缀“cycleGAN6_”所有层的名字。

网= cycleGANGenerator (inputSize,“NumResidualBlocks”6“NamePrefix”,“cycleGAN6_”)
网= dlnetwork属性:层:[54 x1 nnet.cnn.layer.Layer]连接:[59 x2表]可学的:[70 x3表]状态:[0 x3表]InputNames: {“cycleGAN6_inputLayer”} OutputNames: {“cycleGAN6_fActivation”}初始化:1观点总结总结。

显示网络。

analyzeNetwork(净)

输入参数

全部折叠

网络输入大小,指定为正整数的转换向量。inputSize的形式(HWC),H的高度,W是宽度,C通道的数量。

例子:[28日28日3]指定一个输入大小三路28-by-28像素的图像。

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

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

网络编码器模块将采样块的数量,指定为一个正整数。总的来说,网络downsamples输入2倍^NumDownsamplingBlocks。译码器模块由相同数量的upsampling块。

指定数量的卷积过滤器在第一层,甚至是一个积极的整数。

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

过滤器尺寸在第一个和最后一个卷积层,指定为一个积极的奇数的正奇数或者2-element向量的形式高度宽度]。当你指定过滤器的大小作为一个标量,过滤器有相同的高度和宽度。

过滤器尺寸在中间卷积层,指定为一个积极的奇数的正奇数或者2-element向量的形式高度宽度]。中间卷积层卷积层包括第一个和最后一个卷积层。当你指定过滤器的大小作为一个标量,过滤器有相同的高度和宽度。典型值是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 ]

方法用于upsample激活,指定这些值之一:

数据类型:字符|字符串

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

激活功能网络中使用,指定为其中一个值。和可用的层列表的更多信息,见激活层(深度学习工具箱)

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

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

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

  • 一层对象

激活函数卷积最后层后,指定为其中一个值。和可用的层列表的更多信息,见输出层(深度学习工具箱)

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

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

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

  • “没有”——不使用最后一个激活层

  • 一层对象

规范化操作使用卷积后,指定为其中一个值。和可用的层列表的更多信息,见归一化层(深度学习工具箱)

辍学的可能性,指定为在区间[0,1]。如果你指定一个值0不包括辍学,那么网络层。如果你指定一个值大于0,那么网络包括一个dropoutLayer(深度学习工具箱)在每个残块。

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

数据类型:字符|字符串

输出参数

全部折叠

CycleGAN发电机网络,作为一个返回dlnetwork(深度学习工具箱)对象。

更多关于

全部折叠

CycleGAN发电机网络

cycleGAN生成器网络由一个编码器模块,后跟一个译码器模块。默认网络之前,朱等人提出的体系结构。[1]

编码器模块downsamples输入2倍^NumDownsamplingBlocks。编码器模块由一个初始块层,NumDownsamplingBlocks将采样模块,NumResidualBlocks残块。解码器模块upsamples输入2倍^NumDownsamplingBlocks。译码器模块组成NumDownsamplingBlocksupsampling块和最后一块。

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

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

  • 一个convolution2dLayer(深度学习工具箱)的步伐[1]和一个过滤器的大小FilterSizeInFirstAndLastBlocks

  • 一个可选的归一化层,指定的NormalizationLayer名称-值参数。

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

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

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

  • 一个可选的归一化层,指定的NormalizationLayer名称-值参数。

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

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

剩余块
  • 一个convolution2dLayer(深度学习工具箱)的步伐[1]和一个过滤器的大小FilterSizeInIntermediateBlocks

  • 一个可选的归一化层,指定的NormalizationLayer名称-值参数。

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

  • 一个可选的dropoutLayer(深度学习工具箱)。默认情况下,省略一个辍学层残块。包括一个辍学层通过指定辍学名称参数值的范围(0,1)。

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

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

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

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

Upsampling块
  • 一个upsamples upsampling层根据的2倍UpsampleMethod名称-值参数。卷积层有一个过滤器的大小FilterSizeInIntermediateBlocks

  • 一个可选的归一化层,指定的NormalizationLayer名称-值参数。

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

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

最后一块
  • 一个convolution2dLayer(深度学习工具箱)的步伐[1]和一个过滤器的大小FilterSizeInFirstAndLastBlocks

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

二维卷积层,双曲正切层

引用

[1]菲利普·伊索拉朱,Jun-Yan Taesung公园和阿列克谢·a·埃。“孤Image-to-Image翻译使用Cycle-Consistent敌对的网络。”In2017年IEEE计算机视觉国际会议(ICCV),2242 - 2251。威尼斯:IEEE 2017。https://ieeexplore.ieee.org/document/8237506

[2]朱、Jun-Yan Taesung公园,通州。“CycleGAN pix2pix PyTorch。”https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

版本历史

介绍了R2021a