主要内容

featureInputLayer

特征输入层

自从R2020b

描述

特征输入层将特征数据输入到神经网络并应用数据归一化。当您有一个表示特征的数字标量数据集(没有空间或时间维度的数据)时使用此层。

对于图像输入,使用imageInputLayer

创建

描述

= featureInputLayer (numFeatures返回一个特征输入层并设置InputSize属性设置为指定数量的特征。

例子

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

属性

全部展开

功能的输入

数据中每个观测值的特征数,指定为正整数。

对于图像输入,使用imageInputLayer

例子:10

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

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

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

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

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

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

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

提示

在默认情况下,软件会自动计算规范化统计trainNetwork函数。为节省训练时的时间,请指定规范化所需的统计数据,并设置ResetInputNormalization选项trainingOptions0).

归一化维度,指定为下列之一:

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

  • “通道”-信道标准化。

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

零中心和z分数归一化的平均值,指定为1 × -numFeatures每个特征的均值向量,一个数字标量,或[]

如果您指定的意思是属性,然后归一化必须“zerocenter”“zscore”.如果的意思是[],然后是trainNetwork函数计算平均值。训练…dlnetwork对象,或者组装一个网络而不使用assembleNetwork函数时,必须设置的意思是属性设置为数值标量或数值数组。

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

z-score归一化的标准偏差,用1 × -表示numFeatures每个特征的均值向量,一个数字标量,或[]

如果您指定StandardDeviation属性,然后归一化必须“zscore”.如果StandardDeviation[],然后是trainNetwork函数计算标准偏差。训练…dlnetwork对象,或者组装一个网络而不使用assembleNetwork函数时,必须设置StandardDeviation属性设置为数值标量或数值数组。

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

用于重新缩放的最小值,指定为1 by-numFeatures每个特征的最小向量,一个数字标量,或[]

如果您指定最小值属性,然后归一化必须“rescale-symmetric”“rescale-zero-one”.如果最小值[],然后是trainNetwork函数计算最小值。训练…dlnetwork对象,或者组装一个网络而不使用assembleNetwork函数时,必须设置最小值属性设置为数值标量或数值数组。

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

重新缩放的最大值,指定为1 by-numFeatures每个特征的最大值向量,一个数字标量,或[]

如果您指定马克斯属性,然后归一化必须“rescale-symmetric”“rescale-zero-one”.如果马克斯[],然后是trainNetwork函数计算最大值。训练…dlnetwork对象,或者组装一个网络而不使用assembleNetwork函数时,必须设置马克斯属性设置为数值标量或数值数组。

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

该属性是只读的。

将输入数据分割为实数和虚数的标志,指定为以下值之一:

  • 0) -不要分割输入数据。

  • 1真正的) -将数据拆分为实组件和虚组件。

SplitComplexInputs1,则该层输出的通道数是输入数据的两倍。例如,如果输入数据是复数值numChannels通道,然后层输出数据2 * numChannels渠道,其中渠道1通过numChannels包含实际组件的输入数据和numChannels + 1通过2 * numChannels包含输入数据的虚分量。如果输入的数据是真实的,那么通道numChannels + 1通过2 * numChannels都是0。

将复值数据输入到神经网络中SplitComplexInputs输入层的选项必须为1

有关如何使用复值数据训练网络的示例,请参见复值数据下的训练网络

图层名称,指定为字符向量或字符串标量。为数组输入trainNetworkassembleNetworklayerGraph,dlnetwork函数会自动将名称分配给具有该名称的层''

数据类型:字符|字符串

该属性是只读的。

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

数据类型:

该属性是只读的。

输入图层的名称。层没有输入。

数据类型:细胞

该属性是只读的。

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

数据类型:

该属性是只读的。

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

数据类型:细胞

例子

全部折叠

创建一个名称为的特征输入层“输入”对于由21个特征组成的观测值。

layer = featureInputLayer(21;“名字”“输入”
图层= FeatureInputLayer with properties: Name: 'input' InputSize: 21 SplitComplexInputs: 0 Hyperparameters归一化:'none' NormalizationDimension: 'auto'

包含特征输入层数组中。

numFeatures = 21;numClasses = 3;layers = [featureInputLayer(numFeatures,“名字”“输入”) fullyConnectedLayer (numClasses“名字”“俱乐部”) softmaxLayer (“名字”“sm”) classificationLayer (“名字”“分类”)]
层= 4x1层阵列层:1 'input' Feature输入21个特征2 'fc'全连接3全连接层3 'sm' Softmax Softmax 4 'classification'分类输出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(layers);

对于网络的第二部分,增加特征输入层,并将其连接到连接层的第二输入。

featureInputLayer(numFeatures,“名字”“特性”);lgraph = addLayers(lgraph, featInput);lgraph = connectLayers(lgraph,“特性”“concat / in2”);

可视化网络。

情节(lgraph)

图包含一个轴对象。axes对象包含一个graphplot类型的对象。

创建一个dlnetwork对象。

Dlnet = dlnetwork(lgraph)
dlnet = dlnetwork with properties: Layers: [9x1 nnet.cnn.layer.Layer] Connections: [8x2表]Learnables: [6x3表]State: [0x3表]InputNames: {'images' 'features'} OutputNames: {'softmax'} Initialized: 1查看summary with summary。

扩展功能

版本历史

在R2020b中引入

Baidu
map