imageInputLayer
图像输入层
创建
描述
返回一个图像输入层并指定层
= imageInputLayer (inputSize
)InputSize
财产。
设置可选的层
= imageInputLayer (inputSize
,名称,值
)归一化
,NormalizationDimension
,的意思是
,StandardDeviation
,最小值
,马克斯
,SplitComplexInputs
,名字
使用一个或多个名称-值参数的属性。将属性名称用引号括起来。
属性
图像输入
InputSize
- - - - - -输入的大小
整数的行向量
该属性是只读的。
输入数据的大小,指定为整数的行向量[qh]
,在那里h
,w
,c
分别对应通道的高度、宽度和数量。
对于灰度图像,指定带有的矢量
c
等于1
。对于RGB图像,用
c
等于3.
。对于多光谱或高光谱图像,指定带有的矢量
c
等于通道数。
对于3d图像或体积输入,使用image3dInputLayer
。
例子:[224 224 3]
归一化
- - - - - -数据归一化
“zerocenter”
(默认)|“zscore”
|“rescale-symmetric”
|“rescale-zero-one”
|“没有”
|函数处理
该属性是只读的。
每次数据通过输入层前向传播时应用数据规范化,指定为以下之一:
提示
在默认情况下,软件会自动计算规范化统计trainNetwork
函数。为节省训练时的时间,请指定规范化所需的统计数据,并设置ResetInputNormalization
选项trainingOptions
来0
(假
).
NormalizationDimension
- - - - - -规范化维度
“汽车”
(默认)|“通道”
|“元素”
|“所有”
归一化维度,指定为下列之一:
“汽车”
—如果培训选项为假
你指定任何一个标准化统计(的意思是
,StandardDeviation
,最小值
,或马克斯
),然后对与统计数据匹配的维度进行规范化。否则,在训练时重新计算统计数据并应用信道标准化。“通道”
-信道标准化。“元素”
-元素标准化。“所有”
—使用标量统计将所有值归一化。
数据类型:字符
|字符串
的意思是
- - - - - -零中心和z分数归一化的平均值
[]
(默认)|三维数组|数字标量
零中心和z-score归一化的平均值,指定为ah——- - - - - -w——- - - - - -c数组,一个1 × 1 ×c每个通道的平均数数组,一个数字标量,或[]
,在那里h,w,c分别对应于均值的高度、宽度和通道数。
如果您指定的意思是
属性,然后归一化
必须“zerocenter”
或“zscore”
。如果的意思是
是[]
,然后是trainNetwork
函数计算平均值。训练…dlnetwork
对象,或者组装一个网络而不使用assembleNetwork
函数时,必须设置的意思是
属性设置为数值标量或数值数组。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
StandardDeviation
- - - - - -z-score归一化的标准差
[]
(默认)|三维数组|数字标量
z-score归一化的标准差,用a表示h——- - - - - -w——- - - - - -c数组,一个1 × 1 ×c每个通道的平均数数组,一个数字标量,或[]
,在那里h,w,c分别对应标准偏差的高度、宽度和通道数。
如果您指定StandardDeviation
属性,然后归一化
必须“zscore”
。如果StandardDeviation
是[]
,然后是trainNetwork
函数计算标准偏差。训练…dlnetwork
对象,或者组装一个网络而不使用assembleNetwork
函数时,必须设置StandardDeviation
属性设置为数值标量或数值数组。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
最小值
- - - - - -重新缩放的最小值
[]
(默认)|三维数组|数字标量
重新缩放的最小值,指定为h——- - - - - -w——- - - - - -c数组,一个1 × 1 ×c每通道最小值的数组、数字标量或[]
,在那里h,w,c分别对应于最小值的高度、宽度和通道数。
如果您指定最小值
属性,然后归一化
必须“rescale-symmetric”
或“rescale-zero-one”
。如果最小值
是[]
,然后是trainNetwork
函数计算最小值。训练…dlnetwork
对象,或者组装一个网络而不使用assembleNetwork
函数时,必须设置最小值
属性设置为数值标量或数值数组。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
马克斯
- - - - - -重新缩放的最大值
[]
(默认)|三维数组|数字标量
重新缩放的最大值,指定为h——- - - - - -w——- - - - - -c数组,一个1 × 1 ×c每个通道最大值的数组、数字标量或[]
,在那里h,w,c分别对应于最大值的高度、宽度和通道数量。
如果您指定马克斯
属性,然后归一化
必须“rescale-symmetric”
或“rescale-zero-one”
。如果马克斯
是[]
,然后是trainNetwork
函数计算最大值。训练…dlnetwork
对象,或者组装一个网络而不使用assembleNetwork
函数时,必须设置马克斯
属性设置为数值标量或数值数组。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
SplitComplexInputs
- - - - - -将输入数据分割成实数和虚数分量的标志
0
(假
)(默认)|1
(真正的
)
该属性是只读的。
将输入数据分割为实数和虚数的标志,指定为以下值之一:
0
(假
) -不要分割输入数据。1
(真正的
) -将数据拆分为实组件和虚组件。
当SplitComplexInputs
是1
,则该层输出的通道数是输入数据的两倍。例如,如果输入数据是复数值numChannels
通道,然后层输出数据2 * numChannels
渠道,其中渠道1
通过numChannels
包含实际组件的输入数据和numChannels + 1
通过2 * numChannels
包含输入数据的虚分量。如果输入的数据是真实的,那么通道numChannels + 1
通过2 * numChannels
都是0。
将复值数据输入到神经网络中SplitComplexInputs
输入层的选项必须为1
。
有关如何使用复值数据训练网络的示例,请参见复值数据下的训练网络。
DataAugmentation
- - - - - -数据增强变换
“没有”
(默认)|“randcrop”
|“randfliplr”
|单元阵列“randcrop”
和“randfliplr”
该属性是只读的。
请注意
的DataAugmentation
属性不推荐使用。要使用裁剪、反射和其他几何变换预处理图像,请使用augmentedImageDatastore
代替。
数据增强转换为在训练期间使用,指定为以下之一。
“没有”
—不扩充数据“randcrop”
-从训练图像中随机裁剪。随机裁剪的大小与输入大小相同。“randfliplr”
-随机翻转输入图像水平与50%的机会。单元阵列
“randcrop”
和“randfliplr”
。该软件按照在单元阵列中指定的顺序应用增强。
数据类型:字符串
|字符
|细胞
层
名字
- - - - - -层的名字
”
(默认)|特征向量|字符串标量
图层名称,指定为字符向量或字符串标量。为层
数组输入trainNetwork
,assembleNetwork
,layerGraph
,dlnetwork
函数会自动将名称分配给具有该名称的层”
。
数据类型:字符
|字符串
NumInputs
- - - - - -输入数
0(默认)
该属性是只读的。
层的输入数。层没有输入。
数据类型:双
InputNames
- - - - - -输入名字
{}
(默认)
该属性是只读的。
输入图层的名称。层没有输入。
数据类型:细胞
NumOutputs
- - - - - -输出数量
1
(默认)
该属性是只读的。
层的输出数。这一层只有一个输出。
数据类型:双
OutputNames
- - - - - -输出的名字
{“出”}
(默认)
该属性是只读的。
输出图层的名称。这一层只有一个输出。
数据类型:细胞
例子
创建图像输入图层
创建一个图像输入层为28 × 28彩色图像与名称“输入”
。默认情况下,该层通过从每个输入图像中减去训练集的平均图像来执行数据归一化。
inputlayer = imageInputLayer([28 28 3],“名字”,“输入”)
inputlayer = ImageInputLayer with properties: Name: 'input' InputSize: [28 28 3] SplitComplexInputs: 0 Hyperparameters DataAugmentation: 'none' Normalization: 'zerocenter' NormalizationDimension: 'auto' Mean: []
包含一个图像输入层层
数组中。
图层= […imageInputLayer([28 28 1]) convolution2dLayer(5,20) reluLayer maxPooling2dLayer(2,“步”,2) fulllyconnectedlayer (10) softmaxLayer classificationLayer]
Layer = 7x1 Layer array with layers: 1 " Image Input 28x28x1 Image with 'zerocenter' normalization 2 " 2d Convolution 20个5x5个卷积,stride[1 1]和padding [0 0 0 0] 3 " ReLU ReLU 4 " 2d Max Pooling 2x2 Max Pooling, stride[2 2]和padding [0 0 0 0] 5 " Fully Connected 10 " Softmax Softmax 7 " Classification Output crossentropyex
参考文献
[1] Krizhevsky, A. I. Sutskever和G. E. Hinton。“基于深度卷积神经网络的ImageNet分类”。神经信息处理系统研究进展。2012年第25期。
[10]刘建军,刘建军,刘建军,等。用于图像分类的多列深度神经网络。计算机视觉与模式识别IEEE会议, 2012年。
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
代码生成不支持金宝app
“归一化”
使用函数句柄指定。代码生成不支持复杂的输入,也不支持金宝app
“SplitComplexInputs”
选择。
GPU代码生成
使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。
使用注意事项和限制:
代码生成不支持金宝app
“归一化”
使用函数句柄指定。代码生成不支持复杂的输入,也不支持金宝app
“SplitComplexInputs”
选择。
版本历史
在R2016a中引入R2019b:AverageImage
财产将被移除
AverageImage
将被移除。使用的意思是
代替。的所有实例来更新代码AverageImage
与的意思是
。需要对代码进行额外更新的属性之间没有区别。
R2019b:imageInputLayer
和image3dInputLayer
默认情况下,使用通道标准化
从R2019b开始imageInputLayer
和image3dInputLayer
默认情况下,使用通道标准化。在以前的版本中,这些层使用元素规范化。要重现此行为,请设置NormalizationDimension
这些图层的选项“元素”
。
MATLAB命令
您点击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
你亦可选择下列网址:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家网站没有针对您所在位置的访问进行优化。