预测
使用训练有素的深度学习神经网络预测的反应
语法
描述
你可以使用训练好的神经网络预测CPU或GPU深度学习。使用GPU需要并行计算工具箱™许可和支持GPU设备。万博1manbetx支持设备的信息,请参阅万博1manbetxGPU计算的需求(并行计算工具箱)。指定使用的硬件需求ExecutionEnvironment
名称-值参数。
使用这个函数来预测反应使用训练SeriesNetwork
或DAGNetwork
对象。为预测反应使用的信息dlnetwork
对象,看到预测
。
(
预测的反应日元…,
)=预测(___)米
多输出网络的输出使用任何以前的输入参数。输出Yj
对应于网络的输出net.OutputNames (j)
。返回类别分类输出层的输出设置ReturnCategorical
选项1
(真正的)。
___=预测(___,
预测的响应与附加选项指定一个或多个名称参数。名称=值
)
提示
使用
预测
使用回归函数来预测反应网络或使用一个多输出网络分类数据。对于分类数据使用一个变量分类网络,使用分类
函数。当你与不同长度的序列进行预测,mini-batch大小会影响填料添加到输入数据的数量,从而导致不同的预测值。尝试使用不同的值,看看哪种最与你的网络。要指定mini-batch大小和填充选项,可以使用
MiniBatchSize
和SequenceLength
选项,分别。预测反应使用
dlnetwork
对象,看到预测
。
例子
使用训练有素的卷积神经网络预测数字的反应
加载pretrained网络digitsRegressionNet
。这个网络是一个回归卷积神经网络预测的角度旋转的手写数字。
负载digitsRegressionNet
查看网络层。网络的输出层是一层回归。
层= net.Layers
层= 18 x1层阵列层:1“imageinput”28 x28x1图像输入图像与“zerocenter”正常化2“conv_1”二维卷积8 3 x3x1旋转步[1]和填充“相同”3“batchnorm_1”批量标准化批量标准化8通道4的relu_1 ReLU ReLU 5“avgpool2d_1”二维平均池2 x2平均池步(2 - 2)和填充[0 0 0 0]6“conv_2”二维卷积16 3 x3x8旋转步[1]和填充“相同”7”batchnorm_2批量标准化批量标准化与16通道8 ' relu_2 ReLU ReLU 9“avgpool2d_2”二维平均池2 x2平均池步(2 - 2)和填充[0 0 0 0]10“conv_3”二维卷积32 3 x3x16旋转步[1]和填充“相同”11的batchnorm_3批量标准化批量标准化32通道12“relu_3”ReLU ReLU 13 conv_4的二维卷积32 3 x3x32旋转步[1]和填充“相同”14“batchnorm_4”批量标准化批量标准化32通道15 ' relu_4 ReLU ReLU 16“辍学”辍学辍学17 20% fc的完全连接1完全连接层18“regressionoutput”回归的输出均方误差响应“响应”
负载测试图像。
XTest = digitTest4DArrayData;
预测的反应输入数据使用预测
函数。
欧美=预测(净,XTest);
视图的一些测试图片随机预测。
numPlots = 9;idx = randperm(大小(XTest 4) numPlots);深圳=大小(XTest, 1);抵消= sz / 2;图tiledlayout (“流”)为i = 1: numPlots nexttile imshow (XTest (:,:,:, idx(我)))标题(“观察”+ idx (i))在情节(抵消* [1-tand(欧美(idx (i))) 1 +罐内(欧美(idx (i)))),(深圳0),“r——”)举行从结束
预测数字的反应序列使用LSTM训练网络
加载pretrained网络freqNet
。这个网络是一个LSTM回归神经网络,预测波形的频率。
负载freqNet
查看网络层。网络的输出层是一层回归。
net.Layers
ans = 4 x1层与层:数组1 sequenceinput的序列输入序列与三维2的lstm lstm lstm 100隐藏单位3 fc的完全连接1完全连接层4的regressionoutput回归输出均方误差和响应“响应”
负载测试序列。
负载WaveformDataX =数据;
预测的反应输入数据使用预测
函数。因为网络被训练使用序列每个mini-batch截断的序列长度最短,也缩短测试序列通过设置SequenceLength
选项“最短”
。
Y =预测(净,X, SequenceLength =“最短”);
可视化最初几个预测在一个阴谋。
图tiledlayout (2, 2)为i = 1:4 nexttile stackedplot (X{我}’,DisplayLabels =“通道”+(1:3))包含(“时间步”)标题(预测频率:“+字符串(Y (i)))结束
输入参数
净
- - - - - -训练网络
SeriesNetwork
对象|DAGNetwork
对象
训练网络,作为一个指定SeriesNetwork
或者一个DAGNetwork
对象。你可以通过导入pretrained训练网络的网络(例如,通过使用googlenet
函数)或通过训练自己的网络使用trainNetwork
。
在预测反应使用的信息dlnetwork
对象,看到预测
。
图片
- - - - - -图像数据
数据存储|数字数组|表
图像数据,指定为以下之一。
数据类型 | 描述 | 示例使用 | |
---|---|---|---|
数据存储 | ImageDatastore |
数据存储的图片保存在磁盘上 | 做出预测与图像保存在磁盘上,图片都是一样的尺寸。 当图像大小不同,使用一个 |
AugmentedImageDatastore |
数据存储,应用随机仿射几何转换,包括缩放、旋转、反射、剪切和翻译 | 做出预测与图像保存在磁盘上,图像是不同的大小。 |
|
TransformedDatastore |
数据存储转换批次的数据从底层数据存储读取使用自定义转换函数 |
|
|
CombinedDatastore |
数据存储,读取从两个或两个以上的底层数据存储 |
|
|
自定义mini-batch数据存储 | 自定义数据存储返回mini-batches的数据 | 使用数据进行预测,其他数据存储的格式不支持。万博1manbetx 有关详细信息,请参见开发自定义Mini-Batch数据存储。 |
|
数字数组 | 指定为一个数字图像数组 | 使用数据进行预测,适合在内存中,不需要额外的处理调整。 | |
表 | 图像指定为一个表 | 使用数据存储在一个表中作出预测。 |
当你使用数据存储与网络有多个输入,必须一个数据存储TransformedDatastore
或CombinedDatastore
对象。
提示
的序列图像,例如,视频数据,使用序列
输入参数。
数据存储
图像数据存储读取mini-batches和响应。使用数据存储数据时不适合在内存中或当你想调整输入数据。
这些数据存储直接兼容预测
对图像数据。
自定义mini-batch数据存储。有关详细信息,请参见开发自定义Mini-Batch数据存储。
请注意,ImageDatastore
对象允许批量使用预取JPG和PNG图像文件的阅读。如果你使用一个自定义函数读取图像,然后ImageDatastore
对象不预取。
您可以使用其他通过使用内置的数据存储进行预测变换
和结合
功能。这些函数可以读取数据存储的数据转换为需要的格式分类
。
所需的数据存储格式输出取决于网络体系结构。
网络体系结构 | 数据存储输出 | 示例输出 |
---|---|---|
单输入 | 表或单元阵列,第一列指定了预测。 表格元素必须标量、行向量或1×1细胞数组包含一个数字数组。 自定义数据存储必须输出表。 |
data =阅读(ds) data = 4×1表预测_____________{224×224×3双}{224×224×3双}{224×224×3双}{224×224×3双} |
data =阅读(ds) data = 4×1单元阵列{224×224×3双}{224×224×3双}{224×224×3双}{224×224×3双} |
||
多个输入 | 单元阵列至少 第一个 输入的顺序的 |
data =阅读(ds) data = 4×2单元阵列{224×224×3双}{128×128×3双}{224×224×3双}{128×128×3双}{224×224×3双}{128×128×3双}{224×224×3双}{128×128×3双} |
预测的格式取决于类型的数据。
数据 | 格式 |
---|---|
二维图像 | h——- - - - - -w——- - - - - -c数字数组,h,w,c高度,宽度,和数字通道的图像,分别吗 |
三维图像 | h——- - - - - -w——- - - - - -d——- - - - - -c数字数组,h,w,d,c的高度、宽度、深度和通道的图像,分别吗 |
有关更多信息,请参见数据存储深度学习。
数字数组
数据适合在内存中,并且不需要额外的处理等,您可以指定一个数据集的图像作为数字数组。
数值数组的大小和形状取决于图像数据的类型。
数据 | 格式 |
---|---|
二维图像 | h——- - - - - -w——- - - - - -c——- - - - - -N数字数组,h,w,c高度,宽度,和数字通道的图像,分别和N图像的数量吗 |
三维图像 | h——- - - - - -w——- - - - - -d——- - - - - -c——- - - - - -N数字数组,h,w,d,c的高度、宽度、深度和通道的图像,分别和N图像的数量吗 |
表
作为替代数据存储或数值数组,您还可以指定表中的图片。
当你指定的图片在一个表,表中的每一行对应一个观察。
图像输入,预测必须在表的第一列,指定为以下之一:
绝对或相对一个图像文件路径,指定为一个特征向量
1×1细胞包含一个数组h——- - - - - -w——- - - - - -c数字数组代表一个二维图像,h,w,c对应的高度、宽度、分别和通道图像的数量
提示
输入复数数据输入神经网络,SplitComplexInputs
必须选择输入层1
。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|表
复数的支持:万博1manbetx是的
序列
- - - - - -顺序或时间序列数据
数据存储|单元格数值数组的数组|数字数组
顺序或时间序列数据,指定为以下之一。
数据类型 | 描述 | 示例使用 | |
---|---|---|---|
数据存储 | TransformedDatastore |
数据存储转换批次的数据从底层数据存储读取使用自定义转换函数 |
|
CombinedDatastore |
数据存储,读取从两个或两个以上的底层数据存储 |
|
|
自定义mini-batch数据存储 | 自定义数据存储返回mini-batches的数据 | 使用数据进行预测,其他数据存储的格式不支持。万博1manbetx 有关详细信息,请参见开发自定义Mini-Batch数据存储。 |
|
数字或单元阵列 | 一个序列指定为一个数值数组或一个指定的序列数据集作为数值数组的单元阵列 | 使用数据进行预测,适合在内存中,不需要额外的处理自定义转换。 |
数据存储
数据存储读mini-batches序列和响应。使用数据存储数据时不适合在内存中或当你想转换应用到数据。
这些数据存储直接兼容预测
序列数据:
自定义mini-batch数据存储。有关详细信息,请参见开发自定义Mini-Batch数据存储。
您可以使用其他通过使用内置的数据存储进行预测变换
和结合
功能。这些函数可以读取数据存储的数据转换为表或单元阵列格式要求预测
。例如,您可以转换和组合数据从内存中读取数组,并使用一个CSV文件ArrayDatastore
和一个TabularTextDatastore
对象,分别。
数据存储必须返回数据表或单元阵列。自定义mini-batch数据存储必须输出表。
数据存储输出 | 示例输出 |
---|---|
表 |
data =阅读(ds) data = 4×2表预测_____________{12×50双}{12×50双}{12×50双}{12×50双} |
单元阵列 |
data =阅读(ds) data = 4×2单元阵列{12×50双}{12×50双}{12×50双}{12×50双} |
预测的格式取决于类型的数据。
数据 | 格式的预测 |
---|---|
向量序列 | c——- - - - - -年代矩阵,c序列的特性和吗年代是序列长度 |
一维图像序列 | h——- - - - - -c——- - - - - -年代数组,h和c对应于图像的高度和数量的渠道,分别年代是序列长度。 mini-batch中的每个序列必须具有相同的序列长度。 |
二维图像序列 | h——- - - - - -w——- - - - - -c——- - - - - -年代数组,h,w,c对应的高度、宽度和通道图像的数量,分别年代是序列长度。 mini-batch中的每个序列必须具有相同的序列长度。 |
三维图像序列 | h——- - - - - -w——- - - - - -d——- - - - - -c——- - - - - -年代数组,h,w,d,c对应的高度、宽度、深度和通道图像的数量,分别年代是序列长度。 mini-batch中的每个序列必须具有相同的序列长度。 |
预测表中返回的元素必须包含一个数字标量,数字行向量或1×1单元阵列包含一个数字数组。
有关更多信息,请参见数据存储深度学习。
数字或单元阵列
数据适合在内存中,并且不需要额外的处理像定制的转换,您可以指定一个序列作为序列的数字数组或一个数据集作为一个单元阵列的数字数组。
单元阵列输入,细胞必须是一个数组N1单元阵列的数字数组,N是观测的数量。数值数组的大小和形状代表序列取决于类型的序列数据。
输入 | 描述 |
---|---|
向量序列 | c——- - - - - -年代矩阵,c的特征序列的数量和吗年代是序列长度 |
一维图像序列 | h——- - - - - -c——- - - - - -年代数组,h和c对应于图像的高度和数量的渠道,分别年代是序列长度 |
二维图像序列 | h——- - - - - -w——- - - - - -c——- - - - - -年代数组,h,w,c对应的高度、宽度和通道的图像,分别年代是序列长度 |
三维图像序列 | h——- - - - - -w——- - - - - -d——- - - - - -c——- - - - - -年代,在那里h,w,d,c对应高度、宽度、深度和通道数量的3 d图像,分别年代是序列长度 |
提示
输入复数数据输入神经网络,SplitComplexInputs
必须选择输入层1
。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|细胞
复数的支持:万博1manbetx是的
特性
- - - - - -特性数据
数据存储|数字数组|表
特性数据,指定为以下之一。
数据类型 | 描述 | 示例使用 | |
---|---|---|---|
数据存储 | TransformedDatastore |
数据存储转换批次的数据从底层数据存储读取使用自定义转换函数 |
|
CombinedDatastore |
数据存储,读取从两个或两个以上的底层数据存储 |
|
|
自定义mini-batch数据存储 | 自定义数据存储返回mini-batches的数据 | 使用数据进行预测,其他数据存储的格式不支持。万博1manbetx 有关详细信息,请参见开发自定义Mini-Batch数据存储。 |
|
表 | 指定为一个表特性数据 | 使用数据存储在一个表中作出预测。 | |
数字数组 | 特性数据指定为数字数组 | 使用数据进行预测,适合在内存中,不需要额外的处理自定义转换。 |
数据存储
数据存储读取mini-batches特征数据和响应。使用数据存储数据时不适合在内存中或当你想转换应用到数据。
这些数据存储直接兼容预测
特性数据:
自定义mini-batch数据存储。有关详细信息,请参见开发自定义Mini-Batch数据存储。
您可以使用其他通过使用内置的数据存储进行预测变换
和结合
功能。这些函数可以读取数据存储的数据转换为表或单元阵列格式要求预测
。有关更多信息,请参见数据存储深度学习。
对于多个输入的网络,必须一个数据存储TransformedDatastore
或CombinedDatastore
对象。
数据存储必须返回一个表或一个单元阵列中的数据。自定义mini-batch数据存储必须输出表。数据存储的格式输出取决于网络体系结构。
网络体系结构 | 数据存储输出 | 示例输出 |
---|---|---|
单个输入层 | 表或单元阵列和至少一个列,第一列指定预测。 表格元素必须标量、行向量或1×1细胞数组包含一个数字数组。 自定义mini-batch数据存储必须输出表。 |
表与一个输入网络: data =阅读(ds) data = 4×2表预测_____________{24×1双}{24×1双}{24×1双}{24×1双} |
与一个输入单元阵列网络: data =阅读(ds) data = 4×1单元阵列{24×1双}{24×1双}{24×1双}{24×1双} |
||
多个输入层 | 单元阵列至少 第一个 输入的顺序的 |
和两个输入单元阵列网络: data =阅读(ds) data = 4×3单元阵列{24×1双}{28×1双}{24×1双}{28×1双}{24×1双}{28×1双}{24×1双}{28×1双} |
预测必须c1列向量,c的数量特征。
有关更多信息,请参见数据存储深度学习。
表
特性数据适合在内存中,并且不需要额外的处理像定制的转换,您可以指定特性数据和响应表。
表中的每一行对应一个观察。预测表中列的安排取决于任务的类型。
任务 | 预测 |
---|---|
功能分类 | 特性中指定一个或多个列作为标量。 |
数字数组
特性数据适合在内存中,并且不需要额外的处理像定制的转换,您可以指定特性数据作为数字数组。
数字必须是一个数组N——- - - - - -numFeatures
数字数组,N是观察和的数量吗numFeatures
是功能的输入数据的数量。
提示
输入复数数据输入神经网络,SplitComplexInputs
必须选择输入层1
。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|表
复数的支持:万博1manbetx是的
X1,…, XN
- - - - - -与多个输入数字或细胞阵列网络
数字数组|单元阵列
与多个输入数字或细胞阵列网络。
图像、序列和功能预测输入,预测必须匹配的格式描述的格式图片
,序列
,或特性
参数描述,分别。
为一个例子,演示如何训练一个网络有多个输入,明白了列车网络形象和特征数据。
输入复数数据输入神经网络,SplitComplexInputs
必须选择输入层1
。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|细胞
复数的支持:万博1manbetx是的
混合
- - - - - -混合数据
TransformedDatastore
|CombinedDatastore
|自定义mini-batch数据存储
混合数据,指定为以下之一。
数据类型 | 描述 | 示例使用 |
---|---|---|
TransformedDatastore |
数据存储转换批次的数据从底层数据存储读取使用自定义转换函数 |
|
CombinedDatastore |
数据存储,读取从两个或两个以上的底层数据存储 |
|
自定义mini-batch数据存储 | 自定义数据存储返回mini-batches的数据 | 使用数据进行预测,其他数据存储的格式不支持。万博1manbetx 有关详细信息,请参见开发自定义Mini-Batch数据存储。 |
您可以使用其他通过使用内置的数据存储进行预测变换
和结合
功能。这些函数可以读取数据存储的数据转换为表或单元阵列格式要求预测
。有关更多信息,请参见数据存储深度学习。
数据存储必须返回一个表或一个单元阵列中的数据。自定义mini-batch数据存储必须输出表。数据存储的格式输出取决于网络体系结构。
数据存储输出 | 示例输出 |
---|---|
单元阵列与 输入的顺序的 |
data =阅读(ds) data = 4×3单元阵列{24×1双}{28×1双}{24×1双}{28×1双}{24×1双}{28×1双}{24×1双}{28×1双} |
图像、序列和功能预测输入,预测必须匹配的格式描述的格式图片
,序列
,或特性
参数描述,分别。
为一个例子,演示如何训练一个网络有多个输入,明白了列车网络形象和特征数据。
提示
数字数组转换为数据存储,使用arrayDatastore
。
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:MiniBatchSize = 256
指定mini-batch大小为256。
MiniBatchSize
- - - - - -mini-batches大小
128年
(默认)|正整数
大小mini-batches用于预测,指定为一个正整数。大mini-batch大小需要更多的内存,但会导致更快的预测。
当你与不同长度的序列进行预测,mini-batch大小会影响填料添加到输入数据的数量,从而导致不同的预测值。尝试使用不同的值,看看哪种最与你的网络。要指定mini-batch大小和填充选项,可以使用MiniBatchSize
和SequenceLength
选项,分别。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
加速度
- - - - - -性能优化
“汽车”
(默认)|“墨西哥人”
|“没有”
性能优化,指定为以下之一:
“汽车”
——自动应用一些优化适合输入网络和硬件资源。“墨西哥人”
——编译和执行一个墨西哥人的功能。该选项只有当你使用GPU。使用GPU需要并行计算工具箱的许可和支持GPU设备。万博1manbetx支持设备的信息,请参阅万博1manbetxGPU计算的需求(并行计算工具箱)。如果并行计算工具箱或合适的GPU不可用,那么软件返回一个错误。“没有”
——禁用所有加速度。
如果加速度
是“汽车”
,然后用MATLAB®适用于许多兼容优化,不生成一个墨西哥人的功能。
的“汽车”
和“墨西哥人”
选项可以提供性能优势为代价增加初始运行时。后续调用与兼容的参数是更快。使用性能优化计划多次调用该函数时使用新的输入数据。
的“墨西哥人”
选项生成并执行一个墨西哥人函数基于网络和参数在函数调用中使用。你可以有几个墨西哥人函数与一个网络。结算网络变量也清除任何墨西哥人功能与网络有关。
的“墨西哥人”
选择包含层上列万博1manbetx出的支持网络万博1manbetx支持层(GPU编码器)页面,除了sequenceInputLayer
对象。
的“墨西哥人”
选择权是当你使用一个单一的GPU。
使用“墨西哥人”
选择,你必须有一个C / c++编译器和安装为深入学习GPU编码器™接口万博1manbetx支持包。安装包使用MATLAB中万博1manbetx的扩展浏览器的支持。设置说明,请参阅墨西哥人设置(GPU编码器)。GPU编码器不是必需的。
量化网络的“墨西哥人”
选择需要CUDA®使英伟达®GPU计算能力6.1、6.3或更高版本。
MATLAB编译器™当你使用不支持部署万博1manbetx网络“墨西哥人”
选择。
ExecutionEnvironment
- - - - - -硬件资源
“汽车”
(默认)|“图形”
|“cpu”
|“multi-gpu”
|“平行”
硬件资源,指定为以下之一:
“汽车”
——使用GPU如果可用;否则,使用CPU。“图形”
——使用GPU。使用GPU需要并行计算工具箱的许可和支持GPU设备。万博1manbetx支持设备的信息,请参阅万博1manbetxGPU计算的需求(并行计算工具箱)。如果并行计算工具箱或合适的GPU不可用,那么软件返回一个错误。“cpu”
——使用CPU。“multi-gpu”
使用多个gpu在一台机器上,使用本地集群并行池基于默认概要文件。如果没有当前并行池,软件开始平行池,池大小等于可用gpu的数量。“平行”
——使用一个本地或远程并行池集群基于默认概要文件。如果没有当前并行池,集群软件开始使用默认概要文件。如果池访问GPU,那么只有工人有着独特的GPU执行计算。如果池没有gpu,那么计算发生在所有可用的CPU的工人。
更多信息在何时使用不同的执行环境,明白了并行扩展深度学习,在gpu上,在云端。
的“图形”
,“multi-gpu”
,“平行”
选择需要并行计算工具箱。使用GPU深度学习,你也必须有一个支持GPU设备。万博1manbetx支持设备的信息,请参阅万博1manbetxGPU计算的需求(并行计算工具箱)。如果你选择其中一个选项和并行计算工具箱或合适的GPU不可用,那么软件返回一个错误。
与复发性进行预测与网络层(通过设置ExecutionEnvironment
要么“multi-gpu”
或“平行”
),SequenceLength
选项必须是“最短”
或“最长”
。
网络包含的自定义层状态
参数不支持并行进行预测。万博1manbetx
ReturnCategorical
- - - - - -选择返回分类标签
0
(假)(默认)|1
(真正的)
选择返回分类标签,指定为0
(虚假的)或1
(真正的)。
如果ReturnCategorical
是1
(真正的),那么函数返回分类标签分类输出层。否则,函数返回预测分数分类输出层。
SequenceLength
- - - - - -选择垫或截断序列
“最长”
(默认)|“最短”
|正整数
选项板、截断或分裂的输入序列,指定为以下之一:
“最长”
——在每个mini-batch垫序列有相同的长度最长的序列。这个选项不丢弃任何数据,尽管填充可以引入神经网络噪声。“最短”
——在每个mini-batch截断序列有相同的长度最短的序列。这个选项可以确保没有添加填充物,在丢弃的成本数据。正整数——对于每个mini-batch,垫的序列的长度最长mini-batch序列,然后把序列分割成较小的指定长度的序列。如果发生分裂,那么软件创建额外的mini-batches。如果指定的序列长度不均匀划分序列长度的数据,然后mini-batches包含结束这些序列长度短于指定的序列长度。使用这个选项如果完整的序列不适合在内存中。或者,试着减少序列的数量每mini-batch通过设置
MiniBatchSize
选择一个较低的值。
了解更多关于填充的效果,删除,并把输入序列,明白了序列填充、截断和分裂。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|字符
|字符串
SequencePaddingDirection
- - - - - -填充方向或截断
“正确”
(默认)|“左”
填充方向或截断,指定为以下之一:
“正确”
——垫或截断序列在右边。序列开始在同一时间步和软件截断或添加填充序列的结束。“左”
——垫或截断序列在左边。软件截断或添加填充序列,序列的开始结束同时一步。
因为反复层过程序列数据一次一个时间步,当复发性层OutputMode
属性是“最后一次”
,任何填充在最后时间步可以负面影响层的输出。垫或截断左边序列数据,设置SequencePaddingDirection
选项“左”
。
sequence-to-sequence神经网络(当OutputMode
属性是“序列”
对于每一个周期性层),任何填充在第一次的步骤可以负面影响的预测更早的时间步骤。垫或截断序列数据在右边,设置SequencePaddingDirection
选项“正确”
。
了解更多关于填充的效果,删除,并把输入序列,明白了序列填充、截断和分裂。
SequencePaddingValue
- - - - - -垫的价值序列
0
(默认)|标量
盘输入序列值,指定为一个标量。
选择是有效的只有当SequenceLength
是“最长”
或者一个正整数。不垫序列南
,因为这样做可以传播在整个神经网络错误。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
输出参数
Y
——预测反应
数字数组| |直言数组单元阵列
预测响应,作为数字数组,返回分类数组或单元阵列。的格式Y
取决于问题的类型。
下表描述了格式,用于回归问题。
任务 | 格式 |
---|---|
二维图像回归 |
|
三维图像回归 |
|
Sequence-to-one回归 | N——- - - - - -R矩阵,N序列和的数量吗R反应的数量吗 |
Sequence-to-sequence回归 | N1单元阵列的数字序列,N是序列的数量。序列矩阵R行,R是反应的数量。每个序列都有相同数量的时间步骤后,相应的输入序列 sequence-to-sequence回归任务有一个观察, |
功能回归 | N——- - - - - -R矩阵,N是观察和的数量吗R反应的数量吗 |
sequence-to-sequence回归问题的观察,序列
可以是一个矩阵。在这种情况下,Y
是一个矩阵的回答。
如果ReturnCategorical
是0
(假)和输出层的网络层分类,然后Y
是分数预测分类。此表描述的格式分类任务的成绩。
任务 | 格式 |
---|---|
图像分类 | N——- - - - - -K矩阵,N是观察和的数量吗K类的数量吗 |
Sequence-to-label分类 | |
功能分类 | |
Sequence-to-sequence分类 | N1单元阵列矩阵,N是观测的数量。序列矩阵K行,K类的数量。每个序列都有相同数量的时间步骤后,相应的输入序列 |
如果ReturnCategorical
是1
(真正的),网络的输出层是一个分类层,Y
是一个分类分类向量的向量或一个单元阵列。此表描述的格式标签分类任务。
任务 | 格式 |
---|---|
图像或特征分类 | N标签1分类向量,N是观测的数量吗 |
Sequence-to-label分类 | |
Sequence-to-sequence分类 | N1单元阵列的分类标签,序列N是观测的数量。每个序列都有相同数量的时间步骤后,相应的输入序列 sequence-to-sequence分类任务有一个观察, |
日元…,
——预测分数或与多个输出响应的网络
数字数组| |直言数组单元阵列
预测成绩或反应的网络有多个输出,作为数字数组,返回分类数组或单元数组。
每个输出Yj
对应于网络的输出net.OutputNames (j)
格式的描述Y
输出参数。
算法
浮点算术
当你训练一个神经网络使用trainNetwork
函数,或者当你使用预测或验证功能DAGNetwork
和SeriesNetwork
对象,软件执行这些计算使用单精度浮点算术。包括功能训练、预测和验证trainNetwork
,预测
,分类
,激活
。软件使用单精度算法训练神经网络时使用的cpu和gpu。
再现性
提供最佳的性能,深度学习在MATLAB中使用GPU不能保证是确定的。根据您的网络体系结构,在一些情况下你可能会得到不同的结果在使用GPU训练两个相同的网络或有两个预测使用相同的网络和数据。
选择
只使用单个分类网络层,你可以计算出预测类和预测分数从一个训练有素的网络使用分类
函数。
从网络层,计算激活使用激活
函数。
对于复发性网络如LSTM网络,可以做出预测和更新网络状态使用classifyAndUpdateState
和predictAndUpdateState
。
引用
[1]奖赏,Mineichi,小君富山,学者Shimbo。“多维曲线分类使用通过地区。”模式识别的字母20日,没有。11 - 13日(1999年11月):1103 - 11所示。https://doi.org/10.1016/s0167 - 8655 (99) 00077 - x。
[2]UCI机器学习库:日本元音数据集。https://archive.ics.uci.edu/ml/datasets/Japanese +元音。
扩展功能
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
c++代码生成支持下面的语法:万博1manbetx
Y =预测(网络图片)
,在那里图片
是一个数值数组Y =预测(净,序列)
,在那里序列
是一个单元阵列Y =预测(净,特性)
,在那里特性
是一个数值数组(日元…,Y米)=预测(__)
使用任何以前的语法_ =预测(__,名称=值)
使用任何以前的语法
数字输入,输入必须没有变量的大小。大小必须固定在代码生成时间。
为输入向量序列,在代码生成功能必须是一个常数。序列的长度可以是可变大小的。
图像序列的输入,高度,宽度,和渠道的数量必须在代码生成一个常数。
只有
MiniBatchSize
,ReturnCategorical
,SequenceLength
,SequencePaddingDirection
,SequencePaddingValue
名称-值对参数支持代码生成。万博1manbetx所有必须编译时常量名称-值对。只有
“最长”
和“最短”
选项的SequenceLength
名称-值对支持代码生成。万博1manbetx如果
ReturnCategorical
是1
(真正的),你使用GCC C / c++编译器版本8.2或更高版本,你可能会得到一个-Wstringop-overflow
警告。代码生成的英特尔®MKL-DNN目标不支持的结合万博1manbetx
SequenceLength =“最长”
,SequencePaddingDirection =“左”
,SequencePaddingValue = 0
名称-值参数。
更多信息关于深度学习神经网络的生成代码,看看工作流与MATLAB编码器深度学习代码生成(MATLAB编码器)。
GPU的代码生成
生成NVIDIA的CUDA®代码®GPU使用GPU编码器™。
使用笔记和限制:
GPU代码生成支持下面的语法:万博1manbetx
Y =预测(网络图片)
,在那里图片
是一个数值数组Y =预测(净,序列)
,在那里序列
细胞是一个数组或数字数组Y =预测(净,特性)
,在那里特性
是一个数值数组(日元…,Y米)=预测(__)
使用任何以前的语法_ =预测(__,名称=值)
使用任何以前的语法
数字输入,输入必须没有变量的大小。大小必须固定在代码生成时间。
GPU代码生成不支持万博1manbetx
gpuArray
的输入预测
函数。cuDNN库支持向量和二维图像序列。万博1manbetxTensorRT图书馆只支持向量输入序列。万博1manbetx手臂®
计算库
GPU复发不支持网络。万博1manbetx为输入向量序列,在代码生成功能必须是一个常数。序列的长度可以是可变大小的。
图像序列的输入,高度,宽度,和渠道的数量必须在代码生成一个常数。
只有
MiniBatchSize
,ReturnCategorical
,SequenceLength
,SequencePaddingDirection
,SequencePaddingValue
名称-值对参数支持代码生成。万博1manbetx所有必须编译时常量名称-值对。只有
“最长”
和“最短”
选择的SequenceLength
名称-值对支持代码生成。万博1manbetxGPU代码生成的
预测
支持输入函数被定义万博1manbetx为half-precision浮点数据类型。有关更多信息,请参见一半
(GPU编码器)。如果
ReturnCategorical
被设置为1
(真正的),你使用GCC C / c++编译器版本8.2或更高版本,你可能会得到一个-Wstringop-overflow
警告。
自动并行支持万博1manbetx
加速代码通过自动运行并行计算使用并行计算工具箱™。
并行计算,运行设置ExecutionEnvironment
选项“multi-gpu”
或“平行”
。
有关详细信息,请参见并行扩展深度学习,在gpu上,在云端。
GPU数组
加速代码运行在一个图形处理单元(GPU)使用并行计算工具箱™。
的
ExecutionEnvironment
选项必须是“汽车”
或“图形”
当输入数据:一个
gpuArray
一个单元阵列包含
gpuArray
对象一个表,其中包含
gpuArray
对象一个输出数据存储单元数组包含
gpuArray
对象包含一个输出数据存储表
gpuArray
对象
有关更多信息,请参见运行在GPU MATLAB函数(并行计算工具箱)。
版本历史
介绍了R2016aR2022b:预测函数垫mini-batches最长序列在分裂之前您指定的长度SequenceLength
选择一个整数
从R2022b开始,当你做出预测和序列数据使用预测
,分类
,predictAndUpdateState
,classifyAndUpdateState
,激活
功能和SequenceLength
选择是一个整数,软件垫序列的长度最长的序列在每个mini-batch然后将序列分为mini-batches指定的序列长度。如果SequenceLength
不均匀划分mini-batch序列长度,最后分裂mini-batch长度短于SequenceLength
。这种行为可以防止时间步骤,只包含padding值影响的预测。
在以前的版本中,软件垫mini-batches序列长度匹配最近的的倍数SequenceLength
这是大于或等于mini-batch长度,然后将数据。手动复制这种行为,垫mini-batches的输入数据,这样的长度适当的倍数SequenceLength
。sequence-to-sequence工作流,您可能还需要手动删除时间步骤的输出对应于填充的值。
Apri esempio
如果dispone di una versione modificata di questo esempio。Desideri aprire questo esempio con le modifiche星期二吗?
第一MATLAB
海脂肪clic苏联合国collegamento切corrisponde questo第一MATLAB:
Esegui il第一inserendolo所以nella隙缝di第一MATLAB。我浏览器web非supportano万博1manbetx comandi MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。