使用训练过的深度学习神经网络对数据进行分类
你可以在CPU或GPU上使用经过训练的深度学习神经网络进行预测。使用GPU需要并行计算工具箱™和支持的GPU设备。金宝app有关支持的设备的信息,请参见金宝appGPU支金宝app持按版本划分(并行计算工具箱).方法指定硬件要求ExecutionEnvironment
名称-值对参数。
对于具有多个输出的网络,请使用预测
并设置“ReturnCategorical”
选项真正的
.
预测图像数据存储中图像的类标签YPred
=分类(网
,洛桑国际管理发展学院
)洛桑国际管理发展学院
使用训练过的网络网
.
[
还返回与使用前面任何语法的类标签对应的分类分数。YPred
,分数
分类,分类___)
提示
当使用不同长度的序列进行预测时,小批大小可能会影响添加到输入数据中的填充量,从而导致不同的预测值。尝试使用不同的值,看看哪种值最适合您的网络。要指定小批大小和填充选项,请使用“MiniBatchSize”
而且“SequenceLength”
选项,分别。
加载样例数据。
[XTrain,YTrain] = digitTrain4DArrayData;
digitTrain4DArrayData
将数字训练集加载为4-D数组数据。XTrain
是一个28 × 28 × 1 × 5000数组,其中28是图像的高度,28是图像的宽度。1为通道数,5000为手写数字合成图像数。YTrain
包含每个观察结果的标签的分类向量。
构建卷积神经网络体系结构。
图层= [...imageInputLayer([28 28 1]) convolution2dLayer(5,20) reluLayer maxPooling2dLayer(2,“步”2) fullyConnectedLayer(10) softmaxLayer classificationLayer];
将随机梯度下降的选项设置为默认设置。
options = trainingOptions(“个”);
训练网络。
rng (“默认”) net = trainNetwork(XTrain,YTrain,layers,options);
单CPU训练。初始化输入数据规范化。|========================================================================================| | 时代| |迭代时间| Mini-batch | Mini-batch |基地学习 | | | | ( hh: mm: ss) | | |丧失准确性 | |========================================================================================| | 1 | 1 |就是10.16% | | 2.3195 | 0.0100 | | 2 | 50 | 00:00:06 | 50.78% | 1.7102 | 0.0100 | | 3 | 100 | 00:00:10 | 63.28% | 1.1632 | 0.0100 | | 150 | | 00:00:15 | | 1.0859 | 0.0100 60.16%| | 6 | 200 | 00:00:20 | 68.75% | 0.8997 | 0.0100 | | 250 | | 00:00:26 | 76.56% | 0.7919 | 0.0100 | | 300 | | 00:00:32 | 73.44% | 0.8411 | 0.0100 | | 350 | | 00:00:37 | 81.25% | 0.5511 | 0.0100 | | 400 | | 00:00:42 | 89.84% | 0.4741 | 0.0100 | | 450 | | 00:00:47 | 92.19% | 0.3614 | 0.0100 | | 500 | | 00:00:56 | 94.53% | 0.3159 | 0.0100 | | 550 | | 00:01:05 | 96.09% | 0.2543 | 0.0100 | | 16 | 600 | 00:01:10 | 92.19% | 0.2765 | 0.0100 | | 650 | | 00:01:15 | 95.31% | 0.2460 |0.0100 | | 700 | | 00:01:18 | 99.22% | 0.1418 | 0.0100 | | 750 | | 00:01:23 | 98.44% | 0.1000 | 0.0100 | | 21 | 800 | 00:01:27 | 98.44% | 0.1449 | 0.0100 | | 22 | 850 | 00:01:31 | 98.44% | 0.0989 | 0.0100 | | 24 | 900 | 00:01:35 | 96.88% | 0.1315 | 0.0100 | | 25 | 950 | 00:01:40 | 100.00% | 0.0859 | 0.0100 | | 26 | 1000 | 00:01:45 | 100.00% | 0.0700 | 0.0100 | | 1050 | | 27 00:01:51 | 100.00% | 0.0759 | 0.0100 | | 1100 | | 29日00:01:57 | 99.22% | 0.0663 | 0.0100 | | 1150 | | 00:02:02 |98.44% | 0.0775 | 0.0100 | | 1170 | | 00:02:05 | | 0.0732 | 0.0100 99.22% | |========================================================================================| 培训完成:马克思时代完成。
在测试集中运行经过训练的网络。
[XTest,欧美]= digitTest4DArrayData;YPred = category (net,XTest);
显示测试数据中的前10个图像,并与分类进行比较分类
.
[欧美(1:10,:)YPred (1:10,:))
ans =10 x2分类0 0 0 0 0 0 0 0 0 0 0 0 0
的结果分类
匹配前十张图片的真实数字。
计算所有测试数据的准确性。
精度= sum(YPred == YTest)/numel(YTest)
准确度= 0.9820
加载预训练网络。JapaneseVowelsNet
是在[1]和[2]中描述的日语元音数据集上训练的预训练LSTM网络。它在按序列长度排序的序列上训练,小批大小为27。
负载JapaneseVowelsNet
查看网络架构。
网层
2 'lstm' lstm lstm with 100 hidden units 3 'fc' Fully Connected 9全连接Layer 4 'softmax' softmax softmax 5 'classoutput' Classification Output crossentropyex with '1' and 8 other classes
加载测试数据。
[XTest,YTest] = japevowelstestdata;
对测试数据进行分类。
YPred = category (net,XTest);
查看前10个序列的标签及其预测标签。
[欧美(1:10)YPred (1:10)]
ans =10 x2分类1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
计算预测的分类精度。
精度= sum(YPred == YTest)/numel(YTest)
精度= 0.8595
加载预训练的网络TransmissionCasingNet
.该网络将给定的数字传感器读数、统计数据和分类输入混合在一起,对传动系统的齿轮齿状态进行分类。
负载TransmissionCasingNet.mat
查看网络架构。
网层
ans = 7x1层数组:1' input' Feature输入22个特征,带有'zscore'归一化2' fc_1'完全连接50完全连接的Layer 3 'batchnorm' Batch归一化批量归一化,带有50个通道4 'relu' relu relu 5 'fc_2'完全连接2完全连接的Layer 6 'softmax' softmax softmax 7 'classoutput'分类输出crossentropyex,带有类'No Tooth Fault'和'Tooth Fault'
从CSV文件中读取传输套管数据“transmissionCasingData.csv”
.
文件名=“transmissionCasingData.csv”;TBL = readtable(文件名,“TextType”,“字符串”);
方法将用于预测的标签转换为类别convertvars
函数。
labelName =“GearToothCondition”;tbl = convertvars(tbl,labelName,“分类”);
要使用分类特征进行预测,必须首先将分类特征转换为数字。方法将类别预测器转换为类别预测器convertvars
通过指定包含所有类别输入变量名称的字符串数组来实现。在这个数据集中,有两个带有名称的分类特征“SensorCondition”
而且“ShaftCondition”
.
categoricalInputNames = [“SensorCondition”“ShaftCondition”];tbl = convertvars(tbl,categoricalInputNames,“分类”);
循环遍历分类输入变量。对于每个变量:
方法将分类值转换为一次性编码的向量onehotencode
函数。
方法将单热向量添加到表中addvars
函数。指定在包含相应类别数据的列之后插入向量。
删除包含分类数据的对应列。
为i = 1:numel(categoricalInputNames) name = categoricalInputNames(i);Oh = onehotencode(tbl(:,name));TBL = addvars(TBL,哦,“后”、名称);Tbl (:,name) = [];结束
方法将向量拆分为单独的列splitvars
函数。
TBL = splitvars(TBL);
查看表的前几行。
头(台)
ans =表8×23SigMean SigMedian SigRMS SigVar SigPeak SigPeak2Peak SigSkewness SigKurtosis SigCrestFactor SigMAD SigRangeCumSum SigCorrDimension SigApproxEntropy SigLyapExponent PeakFreq HighFreqPower EnvPower PeakSpecKurtosis没有传感器漂移传感器漂移没有轴穿轴穿GearToothCondition ________ _________ ______ _______ _______ ____________ ___________ ___________ ______________ _______ ______________ ________________ ________________ _______________ ________ _____________ ________________________ _______________ ____________ _____________ __________ __________________ -0.94876 -0.9722 1.3726 0.98387 0.81571 3.6314 -0.041525 2.2666 2.0514 0.8081 28562 1.1429 0.031581 79.931 0 6.75e-06 3.23e-07 162.13 01 10无牙故障-0.97537 -0.98958 1.3937 0.99105 0.81571 3.6314 -0.023777 2.2598 2.0203 0.81017 29418 1.1362 0.037835 70.325 0 5.08e-08 9.16e-08 226.12 01 10无牙故障1.0502 1.0267 1.4449 0.98491 2.8157 3.6314 -0.04162 2.2658 1.9487 0.80853 31710 1.14790.031565 - 125.19 6.74 2.85 e-06 e-07 162.13 0 1 0 1没有牙齿错1.0227 1.0045 1.4288 0.99553 2.8157 3.6314 -0.016356 2.2483 1.9707 0.81324 30984 1.1472 0.032088 112.5 4.99 e-06 2.4 e-07 162.13 0 1 0 1没有牙齿错1.0123 1.0024 1.4202 0.99233 2.8157 3.6314 -0.014701 2.2542 1.9826 0.81156 30661 1.1469 0.03287 108.86 3.62 e-06 2.28 e-07 230.39 0 1 0 1没有牙齿错1.0275 1.0102 1.4338 1.0001 2.8157 3.6314 -0.02659 2.2439 1.9638 1.65 0.81589 1.0985 0.033427 64.576 31102 0 2.55 e-06 e-07 230.3901 01无牙故障1.0464 1.0275 1.4477 1.0011 2.8157 3.6314 -0.042849 2.2455 1.9449 0.81595 31665 1.1417 0.034159 98.838 0 1.73e-06 1.55e-07 230.39 01 01无牙故障1.0459 1.0257 1.4402 0.98047 2.8157 3.6314 -0.035405 2.2757 1.955 0.80583 31554 1.1345 0.0353 44.223 0 1.11e-06 1.39e-07 230.39 01 01无牙故障
利用训练好的网络对测试数据进行标签预测,并计算准确率。指定与培训时相同的小批大小。
YPred = class (net,tbl(:,1:end-1));
计算分类精度。准确率是网络正确预测的标签的比例。
YTest = tbl{:,labelName};精度= sum(YPred == YTest)/numel(YTest)
准确度= 0.9952
网
- - - - - -训练网络SeriesNetwork
对象|DAGNetwork
对象训练过的网络,指定为SeriesNetwork
或者一个DAGNetwork
对象。可以通过导入预先训练的网络(例如,通过使用googlenet
功能)或通过训练自己的网络使用trainNetwork
.
洛桑国际管理发展学院
- - - - - -图像数据存储ImageDatastore
对象映像数据存储,指定为ImageDatastore
对象。
ImageDatastore
允许使用预取批量读取JPG或PNG图像文件。如果使用自定义函数读取图像,则ImageDatastore
不预取。
提示
使用augmentedImageDatastore
为深度学习的图像进行有效的预处理,包括图像调整。
请勿使用readFcn
选择imageDatastore
对于预处理或调整大小,此选项通常要慢得多。
ds
- - - - - -数据存储用于内存不足数据和预处理的数据存储。数据存储必须返回表或单元格数组中的数据。数据存储输出的格式取决于网络架构。
网络体系结构 | 数据存储输出 | 示例输出 |
---|---|---|
单输入 | 表或单元格数组,其中第一列指定预测器。 表元素必须是标量、行向量或包含数字数组的1 × 1单元格数组。 自定义数据存储必须输出表。 |
数据=读取(ds) data = 4×1表预测器__________________ {224×224×3 double} {224×224×3 double} {224×224×3 double} {224×224×3 double} |
数据=读取(ds) Data = 4×1 cell array {224×224×3 double} {224×224×3 double} {224×224×3 double} {224×224×3 double} |
||
多个输入 | 单元格数组至少 第一个 输入的顺序由 |
数据=读取(ds) 数据= 4×2 cell array {224×224×3 double} {128×128×3 double} {224×224×3 double} {128×128×3 double} {224×224×3 double} {128×128×3 double} {224×224×3 double} {128×128×3 double} |
预测器的格式取决于数据的类型。
数据 | 预测器的格式 |
---|---|
二维图像 | h——- - - - - -w——- - - - - -c数值数组,其中h,w,c分别是图像的高度、宽度和通道数。 |
三维图像 | h——- - - - - -w——- - - - - -d——- - - - - -c数值数组,其中h,w,d,c分别是图像的高度、宽度、深度和通道数。 |
向量序列 | c——- - - - - -年代矩阵,c序列的特征数和年代为序列长度。 |
一维图像序列 | h——- - - - - -c——- - - - - -年代数组,h而且c分别对应于图像的高度和通道数,和年代为序列长度。 小批中的每个序列必须具有相同的序列长度。 |
二维图像序列 | h——- - - - - -w——- - - - - -c——- - - - - -年代数组,h,w,c分别对应于图像的高度、宽度和通道数,和年代为序列长度。 小批中的每个序列必须具有相同的序列长度。 |
三维图像序列 | h——- - - - - -w——- - - - - -d——- - - - - -c——- - - - - -年代数组,h,w,d,c分别对应于图像的高度、宽度、深度和通道数,和年代为序列长度。 小批中的每个序列必须具有相同的序列长度。 |
特性 | c-by-1列向量,其中c就是特征的数量。 |
有关更多信息,请参见用于深度学习的数据存储.
X
- - - - - -图像或特征数据图像或特征数据,指定为数字数组。数组的大小取决于输入的类型:
输入 | 描述 |
---|---|
二维图像 | 一个h——- - - - - -w——- - - - - -c——- - - - - -N数值数组,其中h,w,c图像的高度、宽度和通道数是否分别为N是图像的数量。 |
三维图像 | 一个h——- - - - - -w——- - - - - -d——- - - - - -c——- - - - - -N数值数组,其中h,w,d,c图像的高度、宽度、深度和通道数是否分别为N是图像的数量。 |
特性 | 一个N——- - - - - -numFeatures 数值数组,其中N观察的次数和numFeatures 是输入数据的特征数。 |
如果数组包含南
S,然后它们通过网络传播。
对于有多个输入的网络,可以指定多个数组X1
、……XN
,在那里N
是网络的输入数和输入数西
对应于网络输入net.InputNames(我)
.
序列
- - - - - -序列或时间序列数据序列或时间序列数据,用N-by-1单元格数组的数字数组,其中N是观察数、表示单个序列的数值数组或数据存储。
对于单元格数组或数值数组输入,包含序列的数值数组的尺寸取决于数据的类型。
输入 | 描述 |
---|---|
向量序列 | c——- - - - - -年代矩阵,c序列的特征数量和年代为序列长度。 |
一维图像序列 | h——- - - - - -c——- - - - - -年代数组,h而且c分别对应图像的高度和通道数,和年代为序列长度。 |
二维图像序列 | h——- - - - - -w——- - - - - -c——- - - - - -年代数组,h,w,c分别对应于图像的高度、宽度和通道数,和年代为序列长度。 |
三维图像序列 | h——- - - - - -w——- - - - - -d——- - - - - -c——- - - - - -年代,在那里h,w,d,c分别为三维图像的高度、宽度、深度和通道数,和年代为序列长度。 |
对于数据存储输入,数据存储必须以序列单元格数组或其第一列包含序列的表的形式返回数据。序列数据的尺寸必须与上表相对应。
资源描述
- - - - - -图像或特征数据表表格
图像或特征数据表。表中的每一行都对应一个观察结果。
预测器在表列中的排列取决于输入数据的类型。
输入 | 预测 |
---|---|
图像数据 |
在单个列中指定预测器。 |
特性数据 | 数字标量。 在第一个中指定预测器 |
此参数只支持单输入网络。金宝app
数据类型:表格
‘MiniBatchSize’,‘256’
指定小批处理大小为256。
指定可选的逗号分隔的pair名称,值
论点。的名字
参数名称和价值
对应的值。的名字
必须出现在单引号内(' '
).
MiniBatchSize
- - - - - -小批次的尺寸用于预测的小批量的大小,指定为正整数。更大的迷你批处理大小需要更多的内存,但可以导致更快的预测。
当使用不同长度的序列进行预测时,小批大小可能会影响添加到输入数据中的填充量,从而导致不同的预测值。尝试使用不同的值,看看哪种值最适合您的网络。要指定小批大小和填充选项,请使用“MiniBatchSize”
而且“SequenceLength”
选项,分别。
例子:“MiniBatchSize”,256年
加速度
- - - - - -性能优化“汽车”
(默认)|墨西哥人的
|“没有”
性能优化,指定为逗号分隔的对组成“加速”
和以下其中之一:
“汽车”
-自动应用适合输入网络和硬件资源的一些优化。
墨西哥人的
—编译并执行MEX函数。该选项仅在使用GPU时可用。使用GPU需要并行计算工具箱和支持的GPU设备。金宝app有关支持的设备的信息,请参见金宝appGPU支金宝app持按版本划分(并行计算工具箱).如果并行计算工具箱或合适的GPU不可用,则软件返回一个错误。
“没有”
—禁用所有加速。
默认选项是“汽车”
.如果“汽车”
, MATLAB®将应用许多兼容的优化。如果您使用“汽车”
选项,MATLAB从未生成MEX函数。
使用“加速”
选项“汽车”
而且墨西哥人的
可以提供性能优势,但以增加初始运行时间为代价。使用兼容参数的后续调用会更快。当您计划使用新的输入数据多次调用函数时,请使用性能优化。
的墨西哥人的
选项根据函数调用中使用的网络和参数生成并执行MEX函数。您可以同时拥有与单个网络相关联的多个MEX函数。清除网络变量也会清除与该网络关联的任何MEX函数。
的墨西哥人的
选项仅在使用GPU时可用。MEX加速使用名称-值选项支持单一金宝appGPU执行“ExecutionEvironment”、“gpu的
只有。
要使用墨西哥人的
选项,你必须安装C/ c++编译器和GPU Coder™接口深度学习库支持包。金宝app在MATLAB中使用Ad金宝appd-On Explorer安装支持包。有关设置说明,请参见墨西哥人设置(GPU编码器).GPU Coder不需要。
的墨西哥人的
选项不支持所有层。金宝app有关受支持层的列表,请参见金宝app金宝app支持层(GPU编码器).只有具有imageInputLayer
都受支持金宝app。
你不能使用MATLAB编译器™来部署您的网络墨西哥人的
选择。
例子:“加速”、“墨西哥人的
ExecutionEnvironment
- - - - - -硬件资源“汽车”
(默认)|“图形”
|“cpu”
|“multi-gpu”
|“平行”
硬件资源,用逗号分隔的对指定“ExecutionEnvironment”
和以下其中之一:
“汽车”
—如果有图形处理器,请使用;否则,请使用CPU。
“图形”
—使用GPU。使用GPU需要并行计算工具箱和支持的GPU设备。金宝app有关支持的设备的信息,请参见金宝appGPU支金宝app持按版本划分(并行计算工具箱).如果并行计算工具箱或合适的GPU不可用,则软件返回一个错误。
“cpu”
—使用CPU。
“multi-gpu”
—在一台机器上使用多个gpu,根据默认集群配置文件使用本地并行池。如果当前没有并行池,软件启动一个并行池,池大小等于可用gpu的数量。
“平行”
—根据默认集群配置文件使用本地或远程并行池。如果当前没有并行池,软件将使用默认的集群配置文件启动一个并行池。如果池可以访问GPU,那么只有具有唯一GPU的工作者执行计算。如果池中没有gpu,那么计算将在所有可用的CPU工作者上进行。
有关何时使用不同执行环境的更多信息,请参见在并行、gpu和云上扩展深度学习.
“图形”
,“multi-gpu”
,“平行”
选项需要并行计算工具箱。要使用GPU进行深度学习,还必须有支持的GPU设备。金宝app有关支持的设备的信息,请参见金宝appGPU支金宝app持按版本划分(并行计算工具箱).如果您选择了其中一个选项,而并行计算工具箱或合适的GPU不可用,那么软件将返回一个错误。
的“multi-gpu”
而且“平行”
选项不支持循环神经网络(rnn金宝app)包含lstmLayer
,bilstmLayer
,或gruLayer
对象。
例子:“ExecutionEnvironment”、“cpu的
SequenceLength
- - - - - -填充、截断或分割输入序列的选项“最长”
(默认)|“最短”
|正整数填充、截断或分割输入序列的选项,指定为以下之一:
“最长”
-每个小批中的衬垫序列与最长序列的长度相同。这个选项不会丢弃任何数据,尽管填充会给网络带来噪音。
“最短”
-截断每个小批中的序列,使其长度与最短的序列相同。此选项确保不添加填充,但代价是丢弃数据。
正整数——对于每个小批处理,将序列填充到指定长度的最近倍数,该倍数大于小批处理中最长的序列长度,然后将序列分割为指定长度的更小的序列。如果发生分裂,那么软件会创建额外的小批量。如果完整序列不适合内存,则使用此选项。或者,尝试减少每个小批处理的序列数量“MiniBatchSize”
选项设置为较低的值。
要了解关于填充、截断和分割输入序列的效果的更多信息,请参见序列填充、截断和分割.
例子:“SequenceLength”、“最短的
SequencePaddingDirection
- - - - - -填充或截断的方向“对”
(默认)|“左”
填充或截断的方向,指定为下列之一:
“对”
-在右侧填充或截断序列。序列开始在同一时间步骤和软件截断或添加填充序列的结尾。
“左”
-在左侧填充或截断序列。该软件截断或添加填充序列的开始,以使序列结束在同一时间步骤。
因为LSTM层每次处理一个时间步骤的序列数据,当层OutputMode
属性是“最后一次”
,在最后的时间步长的任何填充都会对图层输出产生负面影响。若要在左侧填充或截断序列数据,请设置“SequencePaddingDirection”
选项“左”
.
对于序列到序列网络(当OutputMode
属性是“序列”
对于每个LSTM层),第一时间步中的任何填充都会对早期时间步的预测产生负面影响。若要在右侧填充或截断序列数据,请设置“SequencePaddingDirection”
选项“对”
.
要了解关于填充、截断和分割输入序列的效果的更多信息,请参见序列填充、截断和分割.
SequencePaddingValue
- - - - - -值来填充输入序列用来填充输入序列的值,指定为标量。该选项仅在以下情况下有效SequenceLength
是“最长”
或者一个正整数。不垫序列用南
因为这样做会在整个网络中传播错误。
例子:“SequencePaddingValue”,1
YPred
-预测类标签预测的类标签,作为分类向量或分类向量的单元格数组返回。的格式YPred
这取决于任务的类型。
分类任务的格式如下表所示。
任务 | 格式 |
---|---|
图像或特征分类 | N-by-1标签分类向量,其中N是观察数。 |
Sequence-to-label分类 | |
Sequence-to-sequence分类 | N-by-1单元格的标签分类序列数组,其中N是观察数。方法之后,每个序列与相应的输入序列具有相同的时间步数 对于单次观测的序列到序列分类任务, |
分数
-预测班级成绩预测的分数或反应,作为矩阵或矩阵单元数组返回。的格式分数
这取决于任务的类型。
的格式如下表所示分数
.
任务 | 格式 |
---|---|
图像分类 | N——- - - - - -K矩阵,N是观察的次数,和K是班级的数量吗 |
Sequence-to-label分类 | |
功能分类 | |
Sequence-to-sequence分类 | N-by-1的矩阵单元数组,其中N是观察数。序列是矩阵K行,K是类的数量。方法之后,每个序列与相应的输入序列具有相同的时间步数 |
对于单次观测的序列到序列分类任务,序列
可以是一个矩阵。在这种情况下,分数
是预测班级成绩的矩阵。
有关探索分类分数的示例,请参见使用深度学习对网络摄像头图像进行分类.
训练网络时使用trainNetwork
函数,或者在使用预测或验证函数时DAGNetwork
而且SeriesNetwork
对象,该软件使用单精度浮点算术执行这些计算。用于训练、预测和验证的函数包括trainNetwork
,预测
,分类
,激活
.当你使用cpu和gpu训练网络时,该软件使用单精度算法。
对于具有多个输出的网络,请使用预测
函数并设置“ReturnCategorical”
选项真正的
.
您可以从一个训练有素的网络计算预测分数使用预测
.
还可以使用激活
.
对于序列到标签和序列到序列的分类网络,您可以使用classifyAndUpdateState
而且predictAndUpdateState
.
[1]工藤先生,富山先生,Shimbo先生。“利用穿过区域的多维曲线分类”。模式识别信.第20卷第11-13期,第1103-1111页。
[2]UCI机器学习库:日语元音数据集.https://archive.ics.uci.edu/ml/datasets/Japanese+Vowels
使用注意事项和限制:
c++代码生成支持以下语法:金宝app
[YPred,scores] = class (net,X)
[YPred,scores] =分类(网,序列)
[YPred,scores] = class(__,名称,值)
的c++代码生成分类
函数不支持回归网络和多输出网络。金宝app
对于矢量序列输入,在代码生成过程中特征的数量必须是恒定的。序列长度可以可变大小。
对于图像序列输入,在代码生成期间,高度、宽度和通道数量必须是一个常数。
只有“MiniBatchSize”
,“SequenceLength”
,“SequencePaddingDirection”
,“SequencePaddingValue”
代码生成支持名称-值对参数。金宝app所有名称-值对必须是编译时常量。
只有“最长”
而且“最短”
选择“SequenceLength”
在代码生成中支持名称-值对。金宝app
如果您使用的是GCC C/ c++编译器8.2或更高版本,您可能会得到一个-Wstringop-overflow
警告。
为英特尔生成代码®MKL-DNN靶标不支持组合金宝app“SequenceLength”,“最长”
,“SequencePaddingDirection”、“左派”
,“SequencePaddingValue”,0
名称-值参数。
使用注意事项和限制:
GPU代码生成支持以下语法:金宝app
[YPred,scores] = class (net,X)
[YPred,scores] =分类(网,序列)
[YPred,scores] = class(__,名称,值)
GPU代码生成分类
函数不支持回归网络和多输出网络。金宝app
不支持GPU代码生成金宝appgpuArray
的输入分类
函数。
cuDNN库支持向量和二维图像序列。金宝appTensorRT库只支持向量输入序列。金宝app手臂®计算库
for GPU不支持循环网络。金宝app
对于矢量序列输入,在代码生成过程中特征的数量必须是恒定的。序列长度可以可变大小。
对于图像序列输入,在代码生成期间,高度、宽度和通道数量必须是一个常数。
只有“MiniBatchSize”
,“SequenceLength”
,“SequencePaddingDirection”
,“SequencePaddingValue”
代码生成支持名称-值对参数。金宝app所有名称-值对必须是编译时常量。
只有“最长”
而且“最短”
选择“SequenceLength”
在代码生成中支持名称-值对。金宝app
GPU代码生成分类
函数支持定义为半精金宝app度浮点数据类型的输入。有关更多信息,请参见一半
(GPU编码器).
如果您使用的是GCC C/ c++编译器8.2或更高版本,您可能会得到一个-Wstringop-overflow
警告。
若要并行运行计算,请设置“ExecutionEnvironment”
选项“multi-gpu”
或“平行”
.
详情请参见在并行、gpu和云上扩展深度学习.
当输入数据是gpuArray
单元格数组或包含gpuArray
数据,或返回的数据存储gpuArray
数据,“ExecutionEnvironment”
选项必须为“汽车”
或“图形”
.
有关更多信息,请参见在图形处理器上运行MATLAB函数(并行计算工具箱).
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。