主要内容

imageInputLayer

图像输入层

描述

图像输入层向网络输入二维图像并应用数据归一化。

对于3d图像输入,请使用image3dInputLayer

创建

描述

= imageInputLayer (inputSize返回图像输入层并指定InputSize财产。

例子

= imageInputLayer (inputSize名称,值设置可选属性使用名称-值对。可以指定多个名称-值对。将每个属性名用单引号括起来。

属性

全部展开

图像输入

输入数据的大小,指定为整数行向量[w c h],在那里hw,c分别对应通道的高度、宽度和数量。

  • 对于灰度图像,指定一个向量c等于1

  • 对于RGB图像,指定一个向量c等于3.

  • 对于多光谱或高光谱图像,指定一个向量c等于通道的数量。

对于3-D图像或体积输入,使用image3dInputLayer

例子:(224 224)

每次数据通过输入层向前传播时应用的数据规范化,指定为以下其中之一:

  • “zerocenter”-减去指定的平均值的意思是

  • “zscore”-减去指定的平均值的意思是然后除以StandardDeviation

  • “rescale-symmetric”—使用指定的最小值和最大值重新缩放输入,使其在[- 1,1]范围内最小值马克斯,分别。

  • “rescale-zero-one”—使用指定的最小值和最大值重新缩放输入,使其在[0,1]范围内最小值马克斯,分别。

  • “没有”—不要对输入数据进行规范化处理。

  • function handle—使用指定的函数对数据进行规范化。功能必须是形式的Y = func (X),在那里X是输入数据和输出数据吗Y为规范化数据。

提示

默认情况下,软件会自动计算训练时间的归一化统计。为节省训练时的时间,指定规范化所需的统计信息并设置“ResetInputNormalization”选项trainingOptions

归一化尺寸,指定为下列尺寸之一:

  • “汽车”—如果培训选项是然后指定任何标准化统计量(的意思是StandardDeviation最小值,或马克斯),然后对与统计数据匹配的维度进行规范化。否则,重新计算训练时的统计数据,并应用通道方向的归一化。

  • “通道”——Channel-wise正常化。

  • “元素”——Element-wise正常化。

  • “所有”-使用标量统计使所有值归一化。

数据类型:字符|字符串

零中心和z分数标准化的平均值,指定为ah——- - - - - -w——- - - - - -c数组,1-by-1-by -c每个通道的方法数组、数字标量或[],在那里hw,c分别对应于平均值的高度、宽度和通道数量。

如果指定的意思是属性,然后归一化必须“zerocenter”“zscore”。如果的意思是[],然后软件计算训练时的平均值。

您可以在不进行培训的情况下创建网络时设置此属性(例如,使用assembleNetwork).

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

z-score标准化的标准偏差,指定为ah——- - - - - -w——- - - - - -c数组,1-by-1-by -c每个通道的方法数组、数字标量或[],在那里hw,c分别对应高度、宽度和通道数的标准差。

如果指定StandardDeviation属性,然后归一化必须“zscore”。如果StandardDeviation[],然后软件计算训练时的标准差。

您可以在不进行培训的情况下创建网络时设置此属性(例如,使用assembleNetwork).

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

缩放的最小值,指定为h——- - - - - -w——- - - - - -c数组,1-by-1-by -c每个通道、数字标量或最小值的数组[],在那里hw,c分别对应于最小值的高度、宽度和通道数量。

如果指定最小值属性,然后归一化必须“rescale-symmetric”“rescale-zero-one”。如果最小值[],然后软件计算训练时的最小值。

您可以在不进行培训的情况下创建网络时设置此属性(例如,使用assembleNetwork).

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

缩放的最大值,指定为h——- - - - - -w——- - - - - -c数组,1-by-1-by -c每个通道、数字标量或最大值的数组[],在那里hw,c分别对应最大值的高度、宽度和通道数。

如果指定马克斯属性,然后归一化必须“rescale-symmetric”“rescale-zero-one”。如果马克斯[],然后软件计算在训练时的最大值。

您可以在不进行培训的情况下创建网络时设置此属性(例如,使用assembleNetwork).

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

请注意

DataAugmentation属性不推荐使用。使用裁剪、反射和其他几何变换对图像进行预处理augmentedImageDatastore代替。

要在训练期间使用的数据增强转换,指定为以下方式之一。

  • “没有”—无数据增强

  • “randcrop”-从训练图像中随机裁剪。随机作物的大小与输入的大小相同。

  • “randfliplr”随机翻转输入图像水平与50%的机会。

  • 单元阵列的“randcrop”“randfliplr”。软件按照单元阵列中指定的顺序应用增强。

图像数据的增强是减少过拟合的另一种方法[1][2]

数据类型:字符串|字符|细胞

层名,指定为字符向量或字符串标量。为数组输入,trainNetworkassembleNetworklayerGraph,dlnetwork函数自动为层分配名称的名字设置为''

数据类型:字符|字符串

层的输入数。该层没有输入。

数据类型:

输入层名。该层没有输入。

数据类型:细胞

此属性是只读的。

层输出的数量。这一层只有一个输出。

数据类型:

此属性是只读的。

输出层的名称。这一层只有一个输出。

数据类型:细胞

例子

全部折叠

创建一个带有名称的28 × 28色图像输入层“输入”。默认情况下,该层通过从每个输入图像中减去训练集的平均图像来执行数据归一化。

inputlayer = imageInputLayer([28 28 3],“名字”“输入”
inputlayer = ImageInputLayer with properties: Name: 'input' InputSize: [28 28 3] Hyperparameters dataugmentation: 'none' NormalizationDimension: 'auto' Mean: []

包含一个图像输入层数组中。

层= [...imageInputLayer([28 28 1])卷积2dlayer (5,20) reluLayer maxPooling2dLayer(2, 20)“步”,2) fulllyconnectedlayer (10) softmaxLayer classifier]
图层数组:1”的形象输入28 x28x1图像zerocenter正常化2”卷积20 5 x5旋转步[1]和填充[0 0 0 0]3”ReLU ReLU 4”马克斯池2 x2马克斯池步(2 - 2)和填充[0 0 0 0]5“完全连接10完全连接层6”Softmax Softmax crossentropyex 7”分类输出

兼容性的考虑

全部展开

不建议从R2019b开始

未来版本中的行为改变

参考文献

Krizhevsky, A. I. Sutskever和G. E. Hinton。基于深度卷积神经网络的图像网络分类。神经信息处理系统研究进展。25卷,2012年。

[2] Cireşan, D., U. Meier, J. Schmidhuber。“图像分类的多列深度神经网络”。计算机视觉与模式识别会议, 2012年。

扩展功能

介绍了R2016a