主要内容

addPix2PixHDLocalEnhancer

将本地增强器网络添加到pix2pixHD生成器网络

描述

例子

netWithEnhancer= addPix2PixHDLocalEnhancer (将本地增强器网络添加到pix2pixHD生成器网络,.有关网络架构的更多信息,请参见pix2pixHD本地增强器网络

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

netWithEnhancer= addPix2PixHDLocalEnhancer (名称,值使用名称-值参数控制本地增强器网络创建的各个方面。

例子

全部折叠

为大小为512 × 1024的32通道数据指定网络输入大小。

inputSize = [512 1024 32];

创建一个pix2pixHD全局生成器网络。

pix2pixHD = pix2pixHDGlobalGenerator(inputSize)
pix2pixHD = dlnetwork with properties: Layers: [84x1 nnet.cnn.layer.Layer] Connections: [92x2 table] Learnables: [110x3 table] State: [0x3 table] InputNames: {'GlobalGenerator_inputLayer'} OutputNames: {'GlobalGenerator_fActivation'} Initialized: 1查看summary with summary。

在pix2pixHD网络中添加本地增强器网络。

pix2pixHDEnhanced = addPix2PixHDLocalEnhancer(pix2pixHD)
pix2pixHDEnhanced = dlnetwork with properties: Layers: [113x1 nnet.cnn.layer.Layer] Connections: [124x2 table] Learnables: [146x3 table] State: [0x3 table] InputNames: {'LocalEnhancer_inputLayer' 'GlobalGenerator_inputLayer'} OutputNames: {'LocalEnhancer_fActivation'} Initialized: 1查看summary with summary。

使用本地增强器显示网络。

analyzeNetwork (pix2pixHDEnhanced)

输入参数

全部折叠

Pix2pixHD生成器网络,指定为dlnetwork(深度学习工具箱)对象。创建一个pix2pixHD生成器网络pix2pixHDGlobalGenerator函数。

名称-值参数

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

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

例子:“FilterSizeInFirstAndLastBlocks”,[5 7]添加一个局部增强器,其第一个和最后一个卷积层的大小为5 × 7

局部增强器网络的第一层和最后一层卷积层中的滤波器大小,指定为正奇数整数或正奇数的2元素向量,形式为[高度宽度].当您将筛选器大小指定为标量时,筛选器具有相等的高度和宽度。

局部增强器网络中中间卷积层的滤波器大小,指定为正奇数整数或正奇数的2元向量,形式为[高度宽度].中间卷积层是不包括第一层和最后一层的卷积层。当您将筛选器大小指定为标量时,筛选器具有相同的高度和宽度。典型值在3到7之间。

本地增强器网络中的剩余块数,指定为正整数。每个残差块由一组卷积层、归一化层和非线性层组成,每个残差块之间具有跳跃连接。

在本地增强器网络中使用的填充样式,指定为这些值之一。

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(深度学习工具箱)

  • 一个层对象

在本地增强器网络中的每次卷积后使用的归一化操作,指定为这些值之一。有关更多信息和可用层列表,请参见归一化层(深度学习工具箱)

本地增强器网络中的退出概率,指定为范围[0,1]中的数字。的值0时,则网络不包含掉线层。如果指定的值大于0,则该网络包含一个dropoutLayer(深度学习工具箱)在每个剩余块中。

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

数据类型:字符|字符串

输出参数

全部折叠

Pix2pixHD生成器网络与本地增强器,返回作为dlnetwork(深度学习工具箱)对象。

更多关于

全部折叠

pix2pixHD本地增强器网络

addPix2PixHDLocalEnhancer函数执行这些操作,将本地增强器网络添加到pix2pixHD全局生成器网络。缺省的增强网络遵循Wang等人提出的体系结构。参考文献

  1. 本地增强器网络有一个接收大小为[2*的图像的初始层块H2 *WC),H是高度,W是宽度,和C为输入到全局发电机网络的通道数,.当具有多个图像输入层,本地增强器网络的输入图像大小是最大分辨率输入大小的两倍。

  2. 在初始块之后,本地增强器网络具有单个下采样块,该下采样块以2倍的倍数对数据进行下采样。因此,下采样后的输出有大小[HW2 *C].

  3. addPix2PixHDLocalEnhancer函数修剪全局生成器网络中的最后一个块。然后,该函数将全局生成器网络中最后一个上采样块的输出添加到增强器网络中的下采样数据的输出additionLayer(深度学习工具箱)

  4. 然后加法的输出通过NumResidualBlocks来自本地增强器的剩余块。

  5. 残差块后面跟着一个上采样块,将数据上采样到[2*大小H2 *WC].

  6. addPix2PixHDLocalEnhancer函数向增强的网络添加最后一个块。的参数指定了卷积层的属性addPix2PixHDLocalEnhancer.如果全局生成器网络具有最终激活层,则该函数将相同类型的激活层添加到增强网络。

下表描述了组成本地增强器网络的层块。

块类型 默认块示意图
最初的块
  • 一个imageInputLayer(深度学习工具箱)它可以接收两倍于pix2pixHD全球生成网络的图像,

  • 一个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

  • 根据全球发电机网络可选的激活层,

二维卷积层,tanh层

参考文献

[1]王廷春,刘明宇,朱俊燕,陶安德鲁,Jan Kautz和Bryan Catanzaro。“基于条件GANs的高分辨率图像合成和语义操作”在2018 IEEE/CVF计算机视觉和模式识别会议, 8798 - 8807。盐湖城,美国:IEEE, 2018。https://doi.org/10.1109/CVPR.2018.00917

版本历史

R2021a中引入