使用训练的深度学习神经网络对数据进行分类
你可以在CPU或GPU上使用经过训练的神经网络进行深度学习进行预测。使用GPU需要并行计算工具箱™和支持的GPU设备。万博1manbetx有关支持的设备的信息,请参见万博1manbetxGPU支万博1manbetx持情况(并行计算工具箱).使用执行环境
名称-值对的论点。
对于具有多个输出的网络,使用预测
并设置“ReturnCategorial”
选择真正的
.
预测图像数据存储中图像的类标签YPred
=分类(净
,洛桑国际管理发展学院
)洛桑国际管理发展学院
使用经过训练的网络净
.
[
还返回与使用任何先前语法的类标签相对应的分类分数。YPred
,分数
) =分类(___)
提示
当使用不同长度的序列进行预测时,小批量的大小会影响添加到输入数据中的填充量,从而导致不同的预测值。尝试使用不同的值,看看哪一个最适合你的网络。要指定小批量大小和填充选项,请使用'minibatchsize'
和“SequenceLength”
选项分别。
加载示例数据。
[XTrain, YTrain] = digitTrain4DArrayData;
digitTrain4DArrayData
将数字训练集作为4-D阵列数据加载。XTrain.
是一个28 × 28 × 1 × 5000的数组,其中28是图像的高度,28是图像的宽度。1为通道数,5000为手写数字合成图像数。YTrain
是包含每个观察的标签的分类向量。
构建卷积神经网络体系结构。
层= [......imageInputLayer([28 28 1])卷积2dlayer (5,20) reluLayer maxPooling2dLayer(2, 20)“步”,2) fulllyconnectedlayer (10) softmaxLayer classificationLayer;
将随机梯度带动量下降的选项设置为默认设置。
选择= trainingOptions (“个”);
培训网络。
rng(“默认”) net = trainNetwork(XTrain,YTrain,layers,options);
在单CPU上进行培训。初始化输入数据规范化。|=================================================================================================================================================================================历元|迭代|时间经过|小批量|基础学习|第二种第二种第二种第二种第二种第二种第二种第二种第二种第二种第二种第二种第二种第二种第二种第二种第二种第第四种第第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四|0.0100 | 3 | 100 | 00:00:08 | 63.28%| 1.1632 | 0.0100 | 4 | 150 | 00:00:12 | 60.16%| 1.0859 1240 1240 | 6 | 200 | 00:00:17 | 68.75%1240.8996 | 0.0100 | | 7 | 250 | 00:00:21 | 76.56% | 0.7920 | 0.0100 | | 8 | 300 | 00:00:27 | 73.44% | 0.8411 | 0.0100 | | 9 | 350 | 00:00:32 | 81.25% | 0.5508 | 0.0100 | | 11 | 400 | 00:00:35 | 90.62% | 0.4744 | 0.0100 | | 12 | 450 | 00:00:39 | 92.19% | 0.3614 | 0.0100 | | 13 | 500 | 00:00:43 | 94.53% | 0.3160 | 0.0100 | | 15 | 550 | 00:00:47 | 96.09% | 0.2544 | 0.0100 | | 16 | 600 | 00:00:51 | 92.19% | 0.2765 | 0.0100 | | 17 | 650 | 00:00:55 | 95.31% | 0.2460 | 0.0100 | | 18 | 700 | 00:00:59 | 99.22% | 0.1418 | 0.0100 | | 20 | 750 | 00:01:03 | 98.44% | 0.1000 | 0.0100 | | 21 | 800 | 00:01:08 | 98.44% | 0.1449 | 0.0100 | | 22 | 850 | 00:01:12 | 98.44% | 0.0989 | 0.0100 | | 24 | 900 | 00:01:15 | 96.88% | 0.1315 | 0.0100 | | 25 | 950 | 00:01:19 | 100.00% | 0.0859 | 0.0100 | | 26 | 1000 | 00:01:23 | 100.00% | 0.0701 | 0.0100 | | 27 | 1050 | 00:01:28 | 100.00% | 0.0759 | 0.0100 | | 29 | 1100 | 00:01:33 | 99.22% | 0.0663 | 0.0100 | | 30 | 1150 | 00:01:37 | 98.44% | 0.0776 | 0.0100 | | 30 | 1170 | 00:01:39 | 99.22% | 0.0732 | 0.0100 | |========================================================================================|
在测试集中运行训练过的网络。
[XTest,欧美]= digitTest4DArrayData;YPred =分类(净,XTest);
显示测试数据中的前10张图像,并与分类结果进行比较分类
.
[欧美(1:10,:)YPred (1:10,:))
ans =10 x2分类0 0 0 0 0 0 0 0 0 0 0 0
结果来自分类
匹配前十个图像的真实数字。
计算所有测试数据的准确性。
精度= sum(YPred == YTest)/numel(YTest)
精度= 0.9820
负载pretrained网络。JapaneseVowelsNet
是在[1]和[2]中描述的日语元音数据集上训练的预训练LSTM网络。对按序列长度排序的序列进行训练,小批量大小为27。
负载JapaneseVowelsNet
查看网络架构。
net.Layers
ans x1 = 5层阵列层:1“sequenceinput”序列输入序列输入12维度2的lstm lstm lstm 100隐藏单位3 fc的完全连接9完全连接层4的softmax softmax softmax 5 classoutput的分类输出crossentropyex ' 1 ', 8其他类
加载测试数据。
[XTest,YTest]=日本世界统计数据;
对测试数据进行分类。
YPred =分类(净,XTest);
查看前10个序列的标签及其预测标签。
[欧美(1:10)YPred (1:10)]
ans =10 x2分类1 1 1 1 1 1 1 1 1 1 1 1 1
计算预测的分类精度。
精度= sum(YPred == YTest)/numel(YTest)
精度= 0.8595
加载预先训练的网络TransmissionCasingNet
.该网络对定为数字传感器读数,统计和分类输入的混合来分类传输系统的齿轮齿条件。
负载TransmissionCasingNet.mat
查看网络架构。
net.Layers
ans = 7x1 Layer array with layers:1“输入”功能输入22特性与“zscore”正常化2“fc_1”完全连接50完全连接第三层‘batchnorm批量标准化批量标准化50通道4的relu relu relu 5“fc_2”完全连接2完全连接层6‘softmax softmax softmax 7“classoutput”分类输出crossentropyex类的没有Tooth Fault' and 'Tooth Fault'
从CSV文件中读取传输框数据“transmissionCasingData.csv”
.
文件名=“transmissionCasingData.csv”;台= readtable(文件名,'texttype','细绳');
属性将用于预测的标签转换为分类的convertvars
函数。
labelName =“GearToothCondition”;台= convertvars(资源描述、labelName“分类”);
要使用分类特性进行预测,必须首先将分类特性转换为数字。首先,将分类预测符转换为分类预测符convertvars
函数的方法是指定一个包含所有分类输入变量名称的字符串数组。在这个数据集中,有两个带有名称的分类特性“传感器状态”
和“ShaftCondition”
.
categoricalInputNames = [“传感器状态”“ShaftCondition”];台= convertvars(资源描述、categoricalInputNames“分类”);
循环分类输入变量。为每一个变量:
使用onehotencode.
函数。
将一个热点向量加到表中addvars
函数。指定在包含相应类别数据的列之后插入向量。
删除包含分类数据的相应列。
为i = 1:numel(categoricalInputNames) name = categoricalInputNames(i);哦= onehotencode(资源描述(:,名字));台= addvars(资源描述,哦,“后”、名称);台(:名字)= [];结束
将向量分割成单独的列splitvars
函数。
台= splitvars(台);
查看表的前几行。
头(台)
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 0 1 1 0无齿故障-0.97537 -0.98958 1.3937 0.99105 0.81571 3.6314 -0.023777 2.2598 2.0203 0.81017 294181.1362 0.037835 70.325 0 5.08E-08 9.16E-08 226.12 0 1 1 0无齿故障1.0502 1.0267 1.4449 0.98491 2.8157 3.6314 -0.04162 2.2658 1.9487 0.80853 31712 0.80853 31710 1.1479 0.0.031565 125.19 0 6.74e-06 2.85E-07 162.13 0 1 0 1无齿故障1.0227 1.4288 0.99553 2.8157 3.6314 -0.016356 2.2483 1.9707 0.81324 30984 0.81324 30984 0.81324 30984 1.1472 0.0.0 4.0 4.0 4.0 40-071112.5 0 1 0 1/10 1 0 40 40-07 162.13 0 1 0 1无齿故障1.0123 1.0024 1.01230.99233 2.8157 3.6314 -0.014701 2.2542 1.9826 0.81156 30661 1.1469 0.03287 108.86 0 3.62E-06 2.28e-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 0.81589 31102 1.0985 0.033427 64.576 0 2.55e-06 1.65e-07 230.39 0 1 0 1无齿故障1.0464 1.0275 1.4477 1.0011 2.8157 3.6314 -0.042849 2.2455 1.9449 0.81595 2.9449 0.81595 1.9449 0.81595 3.9449 0.81595 3.9449 0.81595 31665 1.1415 0. 0.0 1.73C-06 1.552-07/12.81590 1.0.035405 2.2757 1.955 0.80583 0.80583 31554 1.1345 0.0353 44.223 0 1.11E-06 1.39E-07 230.39 0 1 0 1无齿故障
利用训练好的网络预测测试数据的标号,并计算其精度。指定与培训相同的小批量大小。
YPred=分类(净,待分类(:,1:end-1));
计算分类精度。准确率是指网络预测正确标签的比例。
欧美=台{:labelName};精度= sum(YPred == YTest)/numel(YTest)
精度= 0.9952
净
- - - - - -训练有素的网络SeriesNetwork
对象|DAGNetwork
对象训练有素的网络,指定为SeriesNetwork
或者一个DAGNetwork
对象。您可以通过导入一个预先训练过的网络(例如,使用googlenet
功能)或通过训练自己的网络使用trainNetwork
.
洛桑国际管理发展学院
- - - - - -图像数据存储ImageDatastore
对象图像数据存储,指定为ImageDatastore
对象。
ImageDatastore
允许使用预取批量读取JPG或PNG图像文件。如果使用自定义函数读取图像,则ImageDatastore
没有预取。
ds
- - - - - -数据存储用于内存不足的数据和预处理的数据存储。数据存储必须返回表或单元格数组中的数据。数据存储输出的格式取决于网络架构。
网络体系结构 | 数据存储输出 | 示例输出 |
---|---|---|
单输入 | 表或单元格数组,第一列指定预测器。 表元素必须是标量、行向量或包含数字数组的1 × 1单元格数组。 自定义数据存储必须输出表。 |
data =阅读(ds) data = 4×1 table Predictors __________________ {224×224×3 double} {224×224×3 double} {224×224×3 double} {224×224×3 double} |
data =阅读(ds) 数据=4×1单元阵列{224×224×3 double}{224×224×3 double}{224×224×3 double}{224×224×3 double} |
||
多个输入 | 单元格阵列至少具有 第一个 输入的顺序由 |
data =阅读(ds) Data = 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} |
预测器的格式取决于数据的类型。
数据 | 格式的预测 |
---|---|
2-D图像 | h——- - - - - -w——- - - - - -c数字数组,其中h,w,c分别为图像的高度、宽度和通道数量。 |
三维图像 | h——- - - - - -w——- - - - - -d——- - - - - -c数字数组,其中h,w,d,c是图像的高度,宽度,深度和图像的通道数。 |
向量序列 | c——- - - - - -年代矩阵,在哪里c数列的特征数是和吗年代为序列长度。 |
二维图像序列 | h——- - - - - -w——- - - - - -c——- - - - - -年代阵列,其中h,w,c分别对应图像的高度、宽度和通道数量,和年代为序列长度。 mini-batch中的每个序列必须具有相同的序列长度。 |
三维图像序列 | h——- - - - - -w——- - - - - -d——- - - - - -c——- - - - - -年代阵列,其中h,w,d,c分别对应图像的高度、宽度、深度和通道数量,和年代为序列长度。 mini-batch中的每个序列必须具有相同的序列长度。 |
特征 | c列向量,其中c是功能的数量。 |
有关更多信息,请参见用于深度学习的数据存储.
X
- - - - - -图像或特征数据图像或特征数据,指定为数字数组。数组的大小取决于输入的类型:
输入 | 描述 |
---|---|
二维图像 | 一个h——- - - - - -w——- - - - - -c——- - - - - -N数字数组,其中h,w,c图像的高度、宽度和通道数量分别是和吗N为图像的个数。 |
3-D图像 | 一个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——- - - - - -w——- - - - - -c——- - - - - -年代数组,h,w,c对应于图像的高度,宽度和数量,以及年代为序列长度。 |
三维图像序列 | h——- - - - - -w——- - - - - -d——- - - - - -c——- - - - - -年代,在那里h,w,d,c对应于3-D图像的高度,宽度,深度和数量,以及年代为序列长度。 |
对于数据存储输入,数据存储必须以序列单元格数组或第一列包含序列的表的形式返回数据。序列数据的维度必须与上表相对应。
tbl
- - - - - -图像或特征数据表表格
图像或特征数据表。表中的每一行都对应一个观察值。
表列中预测器的排列取决于输入数据的类型。
输入 | 预测 |
---|---|
图像数据 |
在单个列中指定预测器。 |
特性数据 | 数字标量。 在第一个中指定预测器 |
这个参数支持只有一个输入的网万博1manbetx络。
数据类型:表格
‘MiniBatchSize’,‘256’
指定mini-batch大小为256。
指定可选的逗号分隔的对名称,值
论点姓名
参数名和价值
为对应值。姓名
必须出现在单引号内(''
).
'minibatchsize'
- - - - - -mini-batches大小用于预测的小批量的大小,指定为正整数。更大的迷你批处理需要更多的内存,但可以导致更快的预测。
当使用不同长度的序列进行预测时,小批量的大小会影响添加到输入数据中的填充量,从而导致不同的预测值。尝试使用不同的值,看看哪一个最适合你的网络。要指定小批量大小和填充选项,请使用'minibatchsize'
和“SequenceLength”
选项分别。
例子:“MiniBatchSize”,256年
“加速”
- - - - - -性能优化“汽车”
(默认)|墨西哥人的
|“没有”
性能优化,指定为逗号分隔对组成“加速”
以及以下其中之一:
“汽车”
-自动应用许多适合输入网络和硬件资源的优化。
墨西哥人的
-编译并执行一个MEX函数。仅GPU支持此选项。使用GPU需要并行计算工具箱和支持的GPU设备。万博1manbetx有关支持的设备的信息,请参见万博1manbetxGPU支万博1manbetx持情况(并行计算工具箱).如果并行计算工具箱或合适的GPU不可用,则软件返回错误。
“没有”
—禁用所有加速功能。
默认选项是“汽车”
.如果“汽车”
被指定,matlab®将应用许多兼容的优化。如果你使用“汽车”
选项,MATLAB永远不会生成MEX函数。
使用“加速”
选项“汽车”
和墨西哥人的
可以提供性能优势,但以增加初始运行时为代价。使用兼容参数的后续调用速度更快。当您计划使用新输入数据多次调用函数时,请使用性能优化。
的墨西哥人的
选项根据函数调用中使用的网络和参数生成并执行一个MEX函数。您可以同时拥有多个与单个网络相关联的MEX函数。清除网络变量还将清除与该网络关联的任何MEX函数。
的墨西哥人的
选项仅在使用GPU时可用。您必须安装一个C/ c++编译器和GPU编码器™接口的深度学习库支持包。万博1manbetx在MATLAB中使用Ad万博1manbetxd-On Explorer安装支持包。有关安装说明,请参见墨西哥人设置(GPU编码器).不需要GPU编码器。
的墨西哥人的
选项不支持所有层。万博1manbetx有关受支持的层的列表,请参见万博1manbetx万博1manbetx支持层(GPU编码器).递归神经网络(rnn)包含asequenceInputLayer
不受支持。万博1manbetx
的墨西哥人的
选项不支持具有多个输入图层或多个万博1manbetx输出层的网络。
你不能使用MATLAB编译器™使用时部署网络墨西哥人的
选项
例子:‘加速度’,‘mex’
“ExecutionEnvironment”
- - - - - -硬件资源“汽车”
(默认)|“gpu”
|'中央处理器'
硬件资源,指定为逗号分隔对组成“ExecutionEnvironment”
以及以下其中之一:
“汽车”
-如果GPU可用,请使用;否则,请使用CPU。
“gpu”
—使用GPU。使用GPU需要并行计算工具箱和支持的GPU设备。万博1manbetx有关支持的设备的信息,请参见万博1manbetxGPU支万博1manbetx持情况(并行计算工具箱).如果并行计算工具箱或合适的GPU不可用,则软件返回错误。
'中央处理器'
-使用CPU。
例子:“ExecutionEnvironment”、“cpu的
“SequenceLength”
- - - - - -选择填充,截断,或分割输入序列“最长的”
(默认)|“最短的”
|正整数填充、截断或拆分输入序列的选项,指定为以下之一:
“最长的”
—在每个小批量中填充序列,使其与最长序列具有相同的长度。这个选项不会丢弃任何数据,尽管填充会给网络带来噪声。
“最短的”
-截断每个小批中的序列,使其长度与最短序列相同。这个选项确保不添加任何填充,代价是丢弃数据。
正整数—对于每个小批量,将序列填充到指定长度的最近倍数,该倍数大于最小批量中序列的最长长度,然后将序列分割成指定长度的更小的序列。如果发生分裂,则软件创建额外的小批量。如果完整序列无法装入内存,则使用此选项。或者,尝试通过设置来减少每个小批量的序列数量'minibatchsize'
选择较低的值。
要了解更多关于填充、截断和分割输入序列的效果,请参见序列填充,截断和分裂.
例子:'Sequencelength','最短'
“SequencePaddingDirection”
- - - - - -填充或截断的方向“对”
(默认)|“左”
填充或截断的方向,指定为下列任一种:
“对”
—在右侧填充或截断序列。序列在同一时间步开始,软件截断或添加填充到序列的结束。
“左”
- 左侧或截断序列。该软件截断或将填充添加到序列的开始,使序列同时结束。
因为LSTM层次处理序列数据一次一次步骤,当图层时OutputMode
财产是“最后一次”
,最后时间步骤中的任何填充都会对层输出产生负面影响。要在左侧填充或截断序列数据,请设置“SequencePaddingDirection”
选择“左”
.
对于序列到序列网络(当OutputMode
财产是“序列”
对于每个LSTM层),第一个时间步骤中的任何填充都会对较早时间步骤的预测产生负面影响。要在右侧填充或截断序列数据,请设置“SequencePaddingDirection”
选择“对”
.
要了解更多关于填充、截断和分割输入序列的效果,请参见序列填充,截断和分裂.
'sequencdpaddingsvalue'
- - - - - -值填充输入序列值,用来填充作为标量指定的输入序列。该选项仅在以下情况下有效SequenceLength
是“最长的”
或正整数。不要用垫缝南
,因为这样做可以在整个网络中传播错误。
例子:“SequencePaddingValue”,1
YPred
-预测类标签作为分类向量或分类向量的单元格数组返回的预测类标签。的格式YPred
这取决于任务的类型。
下表描述了分类任务的格式。
任务 | 格式 |
---|---|
图像或特征分类 | N-1标签的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训练网络时,该软件使用单精度算法。
对于具有多个输出的网络,使用预测
并设置“ReturnCategorial”
选择真正的
.
您可以使用预测
.
您也可以使用从网络层计算激活激活
.
对于“序列到标签”和“序列到序列”分类网络,可以使用进行预测和更新网络状态classifyAndUpdateState
和predictandanddatestate.
.
工藤、富山、新保。“使用通过区域的多维曲线分类”。模式识别的字母.第20卷,第11-13期,第1103-1111页。
[2]UCI机器学习库:日语元音数据集.https://archive.ics.uci.edu/ml/datasets/japanese+vowels.
使用注意事项及限制:
c++代码生成支持以下语法:万博1manbetx
[YPred,分数]=分类(净,X)
[YPred,分数]=分类(净,序列)
[YPred,分数]=分类(__、名称、值)
c++代码生成分类
函数不支持回归网络和具有多个输出万博1manbetx的网络。
对于向量序列输入,在代码生成期间必须是常数的特征数量。序列长度可以是可变的尺寸。
对于图像序列输入,在代码生成期间,通道的高度、宽度和数量必须是一个常量。
只有'minibatchsize'
,“SequenceLength”
,“SequencePaddingDirection”
,'sequencdpaddingsvalue'
在代码生成中支持名称-值对参数。万博1manbetx所有的名称-值对必须是编译时常量。
只有“最长的”
和“最短的”
选择的“SequenceLength”
代码生成支持名称-值对。万博1manbetx
如果你使用GCC C/ c++编译器8.2或更高版本,你可能会得到-Wstringop-overflow
警告。
英特尔的代码生成®MKL-DNN靶标不支持组合万博1manbetx“SequenceLength”,“最长”
,“SequencePaddingDirection”、“左派”
,'sequencdpaddingsvalue',0
名称值参数。
使用注意事项及限制:
GPU代码生成支持以下语法:万博1manbetx
[YPred,分数]=分类(净,X)
[YPred,分数]=分类(净,序列)
[YPred,分数]=分类(__、名称、值)
图形处理器代码的生成分类
函数不支持回归网络和具有多个输出万博1manbetx的网络。
GPU代码生成不支持万博1manbetxGPUArray.
输入到分类
函数。
cuDNN库支持向量和二维图像序列。万博1manbetxTensorRT库只支持向量输入序列。万博1manbetx手臂®计算库
对于GPU不支持经常性网络。万博1manbetx
对于向量序列输入,在代码生成期间必须是常数的特征数量。序列长度可以是可变的尺寸。
对于图像序列输入,在代码生成期间,通道的高度、宽度和数量必须是一个常量。
只有'minibatchsize'
,“SequenceLength”
,“SequencePaddingDirection”
,'sequencdpaddingsvalue'
在代码生成中支持名称-值对参数。万博1manbetx所有的名称-值对必须是编译时常量。
只有“最长的”
和“最短的”
选择的“SequenceLength”
代码生成支持名称-值对。万博1manbetx
图形处理器代码的生成分类
函数支持定义为半精万博1manbetx度浮点数据类型的输入。有关详细信息,请参阅一半
(GPU编码器).
如果你使用GCC C/ c++编译器8.2或更高版本,你可能会得到-Wstringop-overflow
警告。
当输入数据为GPUArray.
,包含的单元格数组或表格GPUArray.
数据,或返回的数据存储GPUArray.
数据,“ExecutionEnvironment”
选项必须是“汽车”
或“图形”
.
有关更多信息,请参见在GPU上运行MATLAB函数(并行计算工具箱).
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。