主要内容

featureInputLayer

特性输入层

描述

特征输入层将特征数据输入到网络,并进行数据规范化。当您拥有表示特征(不含空间或时间维度的数据)的数字标量数据集时,请使用此层。

对于图像输入,使用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为规范化数据。

提示

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

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

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

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

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

零中心和z分数标准化的平均值,指定为anumFeatures每个特征、数字标量或-by-1的均值向量[]

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

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

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

z-score标准化的标准偏差,指定为anumFeatures每个特征、数字标量或-by-1的均值向量[]

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

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

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

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

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

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

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

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

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

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

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

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

数据类型:字符|字符串

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

数据类型:

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

数据类型:细胞

此属性是只读的。

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

数据类型:

此属性是只读的。

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

数据类型:细胞

例子

全部折叠

创建一个具有名称的特性输入层“输入”观测包括21个特征。

层= featureInputLayer(21日“名字”“输入”
属性:Name: 'input' InputSize: 21 Hyperparameters Normalization: 'none' NormalizationDimension: 'auto'

将特征输入层包含在数组中。

numFeatures = 21;numClasses = 3;[featureInputLayer(numFeatures,“名字”“输入”) fullyConnectedLayer (numClasses“名字”“俱乐部”) softmaxLayer (“名字”“sm”) classificationLayer (“名字”“分类”)]
Layer array with layers: 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;

要创建具有两个输入层的网络,您必须将网络定义为两部分并将它们连接起来,例如,使用连接层。

定义网络的第一部分。定义图像分类层,并在最后一个完全连接层之前包含一个连接层。

images = [imageInputLayer(imageInputSize,“归一化”“没有”“名字”“图片”) convolution2dLayer (filterSize numFilters,“名字”“conv”) reluLayer (“名字”“relu”) fullyConnectedLayer (50,“名字”“fc1”) concatenationLayer(1、2、“名字”“concat”) fullyConnectedLayer (numClasses“名字”“取得”) softmaxLayer (“名字”“softmax”));

将层转换为层图。

lgraph = layerGraph(层);

对于网络的第二部分,添加一个特征输入层,并将其连接到级联层的第二输入。

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

可视化网络。

情节(lgraph)

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

创建一个dlnetwork对象。

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

扩展功能

介绍了R2020b