主要内容

featureInputLayer.

特性输入层

描述

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

用于图像输入,使用imageInputLayer

创建

描述

= featureInputLayer(numFeatures返回特征输入层并设置输入属性到指定的功能数量。

例子

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

属性

展开全部

功能输入

数据中每个观察的特征数量指定为正整数。

用于图像输入,使用imageInputLayer

例子:10

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

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

  • “zscore”-减去指定的平均值意思并除以standarddeviation.

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

  • “rescale-zero-one”- 使用最小值和最大值,重新缩放输入到范围内[0,1]最小值最大限度,分别。

  • “没有”- 请勿将输入数据标准化。

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

提示

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

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

  • “汽车”—如果培训选项是然后指定任何标准化统计量(意思standarddeviation.最小值,或最大限度),然后通过匹配统计数据的尺寸标准化。否则,重新计算培训时间并申请渠道明智的归一化。

  • '渠道'- 渠道 - 明智的标准化。

  • '全部'- 使用标量统计来规范所有值。

指定为零中心和Z分数标准化的意思numFeatures- 1-1矢量平均值,数值标量或[]

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

在没有培训的情况下创建网络时,可以设置此属性(例如,使用网络使用assembleNetwork)。

数据类型:|双倍的|int8|int16|INT32.|INT64.|uint8|uint16|uint32|uint64

标准偏差为z评分标准化,指定为anumFeatures- 1-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

重新定义的最大值,指定为anumFeatures-1个每种功能的最大值矢量,数字标量或[]

如果您指定了最大限度属性,然后正常化必须是“rescale-symmetric”或者“rescale-zero-one”.如果最大限度[],然后软件计算在训练时的最大值。

在没有培训的情况下创建网络时,可以设置此属性(例如,使用网络使用assembleNetwork)。

数据类型:|双倍的|int8|int16|INT32.|INT64.|uint8|uint16|uint32|uint64

层名,指定为字符向量或字符串标量。若要在层图中包含层,必须指定非空的唯一层名。如果你用层和的名字被设定为'',然后软件会自动为培训时间分配给图层的名称。

数据类型:char|字符串

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

数据类型:双倍的

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

数据类型:细胞

图层的输出数。此图层仅具有单个输出。

数据类型:双倍的

图层的输出名称。此图层仅具有单个输出。

数据类型:细胞

例子

全部收缩

创建一个名称的特征输入图层“输入”对于由21个功能组成的观察。

tillay = feedeinputlayer(21,“名字”“输入”
属性:Name: 'input' InputSize: 21 Hyperparameters Normalization: 'none' NormalizationDimension: 'auto'

包括一个特征输入层数组中。

numfeatures = 21;numclasses = 3;图层= [FeatureInputLayer(NumFeatures,“名字”“输入”)全连接列(numcrasses,“名字”'fc')softmaxlayer(“名字”“sm”scassificationlayer(“名字”“分类”
图层= 4x1层阵列带图层:1'输入'特征输入21功能2'FC'完全连接3完全连接的第3层3'SM'Softmax Softmax 4'分类'分类输出CrossentRopyex

要训练包含图像输入层和特征输入层的网络,必须使用dlnetwork.在自定义训练循环中的对象。

定义输入图像的大小,每次观测的特征个数,类的个数,卷积层的滤波器的大小和个数。

imageInputSize = [28 28 1];numfeatures = 1;numclasses = 10;filtersize = 5;numfilters = 16;

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

定义网络的第一部分。定义图像分类图层,并在上次完全连接的图层之前包括替代层。

images = [imageInputLayer(imageInputSize,'正常化'“没有”“名字”'图片')卷积2dlayer(过滤,numfilters,“名字”'conv') reluLayer (“名字”'relu') fullyConnectedLayer (50,“名字”“fc1”)ConcateationLayer(1,2,“名字”“concat”)全连接列(numcrasses,“名字”“取得”)softmaxlayer(“名字”“softmax”)];

将层转换为层图。

Lgraph = LayerGraph(层);

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

featInput = featureInputLayer (numFeatures,“名字”'特征');Lgraph = AddLayers(LGraph,FeatInput);Lgraph = ConnectLayers(LAPHAGE,'特征'“concat / in2”);

可视化网络。

图(LGROPL)

图中包含一个坐标轴。坐标轴包含一个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中介绍