featureInputLayer
特征输入层
创建
属性
功能的输入
InputSize
- - - - - -功能数量
正整数
归一化
- - - - - -数据归一化
“没有”
(默认)|“zerocenter”
|“zscore”
|“rescale-symmetric”
|“rescale-zero-one”
|函数处理
每次数据通过输入层向前传播时应用数据规范化,指定为以下之一:
提示
方法时,该软件默认自动计算归一化统计信息trainNetwork
函数。为节省训练时的时间,请指定规范化所需的统计信息并设置ResetInputNormalization
选项trainingOptions
来0
(的意见
).
NormalizationDimension
- - - - - -规范化维度
“汽车”
(默认)|“通道”
|“所有”
归一化维度,指定为以下之一:
“汽车”
—如果培训选项为假
您可以指定任何规范化统计信息(的意思是
,StandardDeviation
,最小值
,或马克斯
),然后在与统计数据相匹配的维度上归一化。否则,在训练时重新计算统计数据并应用通道的归一化。“通道”
-通道的标准化。“所有”
-使用标量统计数据规范化所有值。
的意思是
- - - - - -均值为零中心和z分数归一化
[]
(默认)|列向量|数字标量
0 -center和z-score归一化的平均值,指定为anumFeatures
-by-1每个特征的均值向量,数字标量,或[]
.
如果您指定的意思是
属性,然后归一化
必须“zerocenter”
或“zscore”
.如果的意思是
是[]
,则trainNetwork
函数计算平均值。训练一个dlnetwork
对象使用自定义训练循环或组装网络而不使用assembleNetwork
函数时,必须设置的意思是
属性设置为数值标量或数值数组。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
StandardDeviation
- - - - - -z分数归一化的标准差
[]
(默认)|列向量|数字标量
z分数归一化的标准差,用a表示numFeatures
-by-1每个特征的均值向量,数字标量,或[]
.
如果您指定StandardDeviation
属性,然后归一化
必须“zscore”
.如果StandardDeviation
是[]
,则trainNetwork
函数计算标准偏差。训练一个dlnetwork
对象使用自定义训练循环或组装网络而不使用assembleNetwork
函数时,必须设置StandardDeviation
属性设置为数值标量或数值数组。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
最小值
- - - - - -重新缩放的最小值
[]
(默认)|列向量|数字标量
重新缩放的最小值,指定为numFeatures
每个特征最小值的-by-1向量,数值标量,或[]
.
如果您指定最小值
属性,然后归一化
必须“rescale-symmetric”
或“rescale-zero-one”
.如果最小值
是[]
,则trainNetwork
函数计算最小值。训练一个dlnetwork
对象使用自定义训练循环或组装网络而不使用assembleNetwork
函数时,必须设置最小值
属性设置为数值标量或数值数组。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
马克斯
- - - - - -缩放的最大值
[]
(默认)|列向量|数字标量
重新缩放的最大值,指定为numFeatures
-by-1向量的最大值每个特征,一个数字标量,或[]
.
如果您指定马克斯
属性,然后归一化
必须“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
都是零。
在网络中输入复值数据SplitComplexInputs
输入层的选项必须为1
.
有关显示如何使用复值数据训练网络的示例,请参见复值数据训练网络.
层
的名字
- - - - - -层的名字
”
(默认)|特征向量|字符串标量
层名,指定为字符向量或字符串标量。为层
数组输入时,trainNetwork
,assembleNetwork
,layerGraph
,dlnetwork
函数自动为具有该名称的层分配名称”
.
数据类型:字符
|字符串
NumInputs
- - - - - -输入数量
0(默认)
此属性是只读的。
该层的输入数量。该层没有输入。
数据类型:双
InputNames
- - - - - -输入名字
{}
(默认)
此属性是只读的。
输入层的名称。该层没有输入。
数据类型:细胞
NumOutputs
- - - - - -输出数
1
(默认)
此属性是只读的。
层的输出数量。这个图层只有一个输出。
数据类型:双
OutputNames
- - - - - -输出的名字
{“出”}
(默认)
此属性是只读的。
输出层的名称。这个图层只有一个输出。
数据类型:细胞
例子
创建特征输入层
创建一个带有名称的特征输入层“输入”
由21个特征组成的观测。
layer = featureInputLayer(21,“名字”,“输入”)
Name: 'input' InputSize: 21 SplitComplexInputs: 0超参数归一化:'none' NormalizationDimension: 'auto'
中包含特征输入层层
数组中。
numFeatures = 21;numClasses = 3;layers = [featureInputLayer(numFeatures,“名字”,“输入”) fullyConnectedLayer (numClasses“名字”,“俱乐部”) softmaxLayer (“名字”,“sm”) classificationLayer (“名字”,“分类”)]
layers = 4x1带有层的层数组:1 'input' Feature input 21 features 2 'fc' Fully Connected 3 Fully Connected Layer 3 'sm' Softmax Softmax 4 'classification' classification Output crossentropyex
结合图像和特征输入层
为了训练包含图像输入层和特征输入层的网络,必须使用dlnetwork
对象在自定义训练循环中。
定义输入图像的大小,每个观察到的特征的数量,类的数量,卷积层的滤波器的大小和数量。
imageInputSize = [28 28 1];numFeatures = 1;numClasses = 10;filterSize = 5;numFilters = 16;
要创建具有两个输入层的网络,必须将网络定义为两个部分,并将它们连接起来,例如,通过使用连接层。
定义网络的第一部分。定义图像分类层,并在最后一个完全连接层之前包括一个压平层和一个连接层。
图层= [imageInputLayer(imageInputSize,“归一化”,“没有”,“名字”,“图片”) convolution2dLayer (filterSize numFilters,“名字”,“conv”) reluLayer (“名字”,“relu”) fullyConnectedLayer (50,“名字”,“fc1”) flattenLayer (“名字”,“平”) concatenationLayer(1、2、“名字”,“concat”) fullyConnectedLayer (numClasses“名字”,“取得”) softmaxLayer (“名字”,“softmax”));
将图层转换为图层图。
lgraph = layerGraph(图层);
对于网络的第二部分,添加一个特征输入层,并将其连接到连接层的第二个输入。
featureInputLayer(numFeatures)“名字”,“特性”);lgraph = addLayers(lgraph, featuinput);lgraph = connectLayers(“特性”,“concat / in2”);
可视化网络。
情节(lgraph)
创建一个dlnetwork
对象。
Dlnet = dlnetwork(lgraph)
dlnet = dlnetwork with properties: Layers: [9x1 nnet.cnn.layer.Layer] Connections: [8x2 table] Learnables: [6x3 table] State: [0x3 table] InputNames: {'images' 'features'} OutputNames: {'softmax'} Initialized: 1查看summary with summary。
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
代码生成不支持复杂输入,也不支持金宝app
“SplitComplexInputs”
选择。
GPU代码生成
使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。
生成CUDA®或c++代码使用GPU Coder™,您必须首先构建和训练一个深度神经网络。一旦网络被训练和评估,您就可以配置代码生成器来生成代码,并在使用NVIDIA的平台上部署卷积神经网络®或手臂®GPU处理器。有关更多信息,请参见GPU编码器的深度学习(GPU编码器).
代码生成不支持复杂输入,也不支持金宝app
“SplitComplexInputs”
选择。
版本历史
R2020b中介绍
Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。