文档

预测

类:SeriesNetwork

使用训练过的卷积神经网络预测响应

您可以在CPU或GPU上使用经过训练的卷积神经网络(ConvNet, CNN)预测班级成绩或数字响应。使用GPU需要并行计算工具箱™和CUDA®使英伟达®GPU具有3.0或更高的计算能力。方法指定硬件要求ExecutionEnvironment名称-值对参数。

语法

YPred =预测(净,X)
YPred =预测值(净值,X,名称,值)

描述

YPred=预测(X中的数据的响应X使用训练过的网络

YPred=预测(X名称,值控件指定的附加选项预测响应名称,值对参数。

输入参数

全部展开

训练过的网络,指定为SeriesNetwork对象返回的trainNetwork函数。

输入数据时,指定为单个图像的数组,图像的4-D数组,图像存储为ImageDatastore中的图像或图像路径表格

  • 如果X是单个图像,则尺寸对应于图像的高度、宽度和通道。

  • 如果X是图像的数组,那么前三个维度对应图像的高度、宽度和通道,第四个维度对应图像的编号。

  • 存储为ImageDatastore对象。有关此数据类型的更多信息,请参见ImageDatastore

  • 一个表,其中第一列包含图像路径或图像。

数据类型:||表格

名称-值对实参

例子:“MiniBatchSize”,256年指定小批处理大小为256。

指定可选的逗号分隔的pair名称,值论点。的名字参数名称和价值对应的值。的名字必须出现在单引号内(' ').

全部展开

用于预测的小批量的大小,指定为整数。更大的迷你批处理大小需要更多的内存,但导致更快的预测。

例子:“MiniBatchSize”,256年

数据类型:|

硬件资源预测要运行网络,指定为逗号分隔的对,由“ExecutionEnvironment”和以下其中之一:

  • “汽车”—如果有图形处理器,请使用图形处理器,否则使用CPU。

  • “图形”—使用GPU。要使用GPU,必须有并行计算工具箱和支持cuda的NVIDIA GPU,具有3.0或更高的计算能力。如果没有合适的GPU,预测返回一个错误消息。

  • “cpu”—使用CPU。

例子:“ExecutionEnvironment”、“cpu的

数据类型:字符

输出参数

全部展开

预测分数,作为以下之一返回:

  • 对于一个分类问题,Ypred是一个n——- - - - - -k矩阵,n观察的次数和k是类的数量。

  • 对于回归问题,格式为Ypred取决于训练数据中响应的格式。Ypred可以是

    • n——- - - - - -r数值矩阵,n观察的次数和r是回复的数量吗

    • h——- - - - - -w——- - - - - -c——- - - - - -n数值数组,其中n观察的次数和h——- - - - - -w——- - - - - -c大小是一个单一的响应

例子

全部展开

加载样例数据。

[XTrain,TTrain] = digitTrain4DArrayData;

digitTrain4DArrayData将数字训练集加载为4-D数组数据。XTrain是一个28 × 28 × 1 × 4940数组,其中28是图像的高度,28是图像的宽度。1为通道数,4940为手写数字合成图像数。TTrain包含每个观察结果的标签的分类向量。

构建卷积神经网络体系结构。

layers = [imageInputLayer([28 28 1]);convolution2dLayer (20);reluLayer ();maxPooling2dLayer (2“步”2);fullyConnectedLayer (10);softmaxLayer ();classificationLayer ()];

将随机梯度下降的选项设置为默认设置。

options = trainingOptions(“个”);

训练网络。

rng(1) net = trainNetwork(XTrain,TTrain,layers,options);
单CPU训练。初始化图像归一化。|=========================================================================================| | 时代| |迭代时间| Mini-batch | Mini-batch |基地学习| | | | | | |精度损失速率(秒)  | |=========================================================================================| | 1 | 1 | 0.56 | 2.3028 | 11.72% | 0.0100 | | 2 | 50 | 17.07 | 2.2653 | 30.47% | 0.0100 | | 3 | 100 | 33.83 | 1.5949 | 48.44% | 0.0100 | | 150 | | 50.75 | 1.2292 | 58.59% | 0.0100 | | 6 | 200 |68.65 | 1.0559 | 64.06% | 0.0100 | | 7 | 250 | 86.97 | 1.0304 | 64.06% | 0.0100 | | 8 | 300 | 104.85 | 0.7178 | 78.12% | 0.0100 | | 9 | 350 | 122.68 | 0.6900 | 78.12% | 0.0100 | | 11 | 400 | 139.96 | 0.5104 | 85.94% | 0.0100 | | 12 | 450 | 156.90 | 0.4311 | 89.06% | 0.0100 | | 13 | 500 | 173.84 | 0.2796 | 92.19% | 0.0100 | | 15 | 550 | 190.99 | 0.2389 | 96.09% | 0.0100 | | 16 | 600 | 207.15 | 0.2566 | 92.97% | 0.0100 | | 17 | 650 | 223.88 | 0.1773 | 96.88% | 0.0100 | | 18 | 700 | 240.29 | 0.1260 | 99.22% | 0.0100 | | 20 | 750 | 256.88 | 0.1297 | 100.00% | 0.0100 | | 21 | 800 | 273.22 | 0.1080 | 97.66% | 0.0100 | | 22 | 850 | 290.02 | 0.1176 | 98.44% | 0.0100 | | 24 | 900 | 306.83 | 0.0762 | 100.00% | 0.0100 | | 25 | 950 | 323.40 | 0.0774 | 100.00% | 0.0100 | | 26 | 1000 | 340.14 | 0.0877 | 99.22% | 0.0100 | | 27 | 1050 | 357.61 | 0.0645 | 99.22% | 0.0100 | | 29 | 1100 | 373.88 | 0.0624 | 100.00% | 0.0100 | | 30 | 1150 | 390.18 | 0.0488 | 100.00% | 0.0100 | | 30 | 1170 | 396.74 | 0.0816 | 99.22% | 0.0100 | |=========================================================================================|

在测试集中运行经过训练的网络并预测分数。

(XTest, tt) = digitTest4DArrayData;YTestPred = predict(net,XTest);

预测,默认使用cuda支持的GPU,在可用的情况下具有3.0的计算能力。你也可以选择跑步预测在CPU上使用“ExecutionEnvironment”、“cpu的名称-值对参数。

显示测试数据中的前10个图像,并与来自的预测进行比较预测

tt (1:10,:)
Ans = 10×1分类数组0 0 0 0 0 0 0 0 0 0 0 0
YTestPred (1:10,:)
ans = 10×10单矩阵列1至7 0.9993 0.0000 0.0002 0.0003 0.0000 0.0001 0.8579 0.0000 0.0551 0.0003 0.0000 0.0000 0.0002 0.0000 0.0000 0.0000 0.0000 0.9558 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.9558 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0060 0.9616 0.0000 0.0041 0.0001 0.0000 0.0000 0.0000 0.0004 0.9915 0.0000 0.0005 0.0000 0.0000 0.0000 0.00000 0.0016 0.9733 0.0000 0.0003 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.9126 0.0000 0.0016 0.0002 0.0003 0.0007 0.0001 0.9409 0.00000.0102 0.0020 0.0001 0.0001 0.0278 Columns 8 through 10 0.0000 0.0000 0.0002 0.0001 0.0035 0.0690 0.0000 0.0000 0.0001 0.0000 0.0010 0.0372 0.0002 0.0335 0.0002 0.0000 0.0044 0.0020 0.0000 0.0016 0.0001 0.0000 0.0000 0.0000 0.0000 0.0012 0.0833 0.0000 0.0143 0.0047

tt中图像对应的数字XTest.的列YTestPred包含预测对图像包含特定数字的概率的估计。也就是说,第一列包含给定图像是数字0的概率估计,第二列包含图像是数字1的概率估计,第三列包含图像是数字2的概率估计,以此类推。你们可以看到预测他对正确数字的估计概率几乎为1,而其他数字的估计概率几乎为0。预测正确估计前10个观测值为数字0。

算法

如果图像数据包含年代,预测通过网络传播它们。如果网络有ReLU层,这些层会忽略s.然而,如果网络没有ReLU层,则预测返回nan作为预测。

选择

方法可以从经过训练的网络中计算预测的分数和预测的班级分类方法。

方法还可以从网络层计算激活激活方法。

另请参阅

|

在R2016a中介绍

这个话题有帮助吗?