文件帮助中心文件
dlnetwork.
预测
dlarray.
计算推理的深度学习网络输出
DLY =预测(DLNET,DLX)
DLY =预测(DLNET,DLX1,...,DLXM)
[dly1,...,dlyn] =预测(___)
[dly1,...,dlyk] =预测(___,'输出',layernames)
[___) =预测(___,'加速',加速)
[___,状态] =预测(___)
在训练和推理(预测)期间,一些深入学习的层的行为不同。例如,在训练期间,辍学层随机将输入元素随机设置为零,以帮助防止过度拟合,但在推理期间,丢弃层不会改变输入。
要计算推理的网络输出,请使用预测函数。要计算用于训练的网络输出,请使用向前函数。为了预测系列网络和Dagnetwork.对象,看到预测。
向前
系列网络
Dagnetwork.
小费
为了预测系列网络和Dagnetwork.对象,看到预测。
例子
d=预测(DLNET.那DLX.)返回网络输出d在推理期间给定输入数据DLX.和网络DLNET.使用单个输入和单个输出。
d=预测(DLNET.那DLX.)
d
DLNET.
DLX.
d=预测(DLNET.、dlX1 dlXM……)返回网络输出d在推论期间给出了m输入DLX1,...,DLXM和网络DLNET.有m输入和单个输出。
d=预测(DLNET.、dlX1 dlXM……)
m
DLX1,...,DLXM
[dly1,...,dlyn] =预测(___)返回N输出dly1.,......,dlyn.在推论的网络中N使用以前的任何语法输出。
N
dly1.
dlyn.
[dly1,...,dlyk] =预测(___,'输出',懒人)返回输出dly1.,......,达格尔克在推理指定图层期间使用以前的任何语法。
[dly1,...,dlyk] =预测(___,'输出',懒人)
懒人
达格尔克
[___) =预测(___,'加速',加速)还指定了在推理期间使用的性能优化,以及前面语法中的输入参数。
加速
[___那状态) =预测(___)还返回更新的网络状态。
[___那状态) =预测(___)
状态
全部收缩
此示例显示如何使用a进行预测dlnetwork.通过将数据拆分为迷你批量来实现对象。
对于大数据集,或者在使用有限内存的硬件上预测时,通过将数据拆分为迷你批次来进行预测。与之预测时系列网络或者Dagnetwork.对象时,预测函数自动将输入数据分成迷你批次。为了dlnetwork.对象,您必须手动将数据拆分为迷你批处理。
加载dlnetwork.目的
装训练dlnetwork.对象和相应的类。
s = load(“digitscustom.mat”);dlnet = s.dlnet;classes = s.casses;
加载预测数据
加载数字数据进行预测。
digitdatasetpath = fullfile(matlabroot,'工具箱'那'nnet'那'nndemos'那......'nndatasets'那'digitdataset');imds = imageageataStore(DigitDatasetPath,......'insertumbfolders',真的);
作出预测
循环在测试数据的迷你批量上,并使用自定义预测循环进行预测。
用小公子处理和管理迷你批次的图像。指定mini批量大小为128.将图像数据存储的读取大小属性设置为迷你批处理大小。
小公子
对于每个迷你批处理:
使用自定义迷你批处理预处理功能Preprocessminibatch.(在该示例的末尾定义)以将数据连接到批处理中并归一化图像。
Preprocessminibatch.
使用尺寸格式化图像'SSCB'(空间,空间,频道,批量)。默认情况下,小公子对象将数据转换为dlarray.底层类型的对象单身的。
'SSCB'
单身的
如果有可用的话,请在GPU上进行预测。默认情况下,小公子对象将输出转换为aGPUArray.图形处理器是否可用。使用GPU需要并行计算工具箱™和支持的GPU设备。金宝app有关支持的设备的信息,请参见金宝appGPU通金宝app过发布支持(并行计算工具箱)。
GPUArray.
minibatchsize = 128;imds.readsize = minibatchsize;MBQ = Minibatchqueue(IMDS,......“迷你atchsize”,小匹马,......“minibatchfcn”,@preprocessminibatch,......“minibatchformat”那“SSCB”);
循环在数据的小匹匹匹配项中,并使用中的预测预测函数。使用onehotdecode.函数以确定类标签。存储预测的类标签。
onehotdecode.
numobservations = numel(imds.files);ypred = strings(1,numobservations);预测= [];%循环在迷你批次。尽管Hasdata(MBQ)%读取迷你批次数据。DLX =下一个(MBQ);%使用预测功能进行预测。dlypred =预测(Dlnet,DLX);%确定相应的类。predbatch = onehotdecode(dlypred,classes,1);预测= [预测捕获];结尾
可视化一些预测。
idx = randperm (numObservations 9);数字为了i = 1:9子图(3,3,i)i = imread(imds.files {idx(i)});标签=预测(IDX(i));imshow(i)标题(“标签: ”+字符串(标签)结尾
Mini-Batch预处理功能
这Preprocessminibatch.函数使用以下步骤预处理数据:
从传入单元格数组中提取数据并将数据连接到数字阵列中。在第四维上连接到每个图像的第三维度,用作单例通道维度。
归一化像素值之间的0.和1。
0.
1
功能x = preprocessminibatch(数据)%从单元格和连接中提取图像数据X = CAT(4,数据{:});%标准化图像。X = X / 255;结尾
用于自定义培训循环的网络,指定为dlnetwork.目的。
输入数据,指定为格式化数据dlarray.。有关的更多信息dlarray.格式化,看FMT.输入论点dlarray.。
FMT.
图层以从指定为字符串数组或包含图层名称的字符向量的小区数组中提取输出。
如果LayerNames(i)对应于单个输出的层,然后LayerNames(i)是图层的名称。
LayerNames(i)
如果LayerNames(i)对应于具有多个输出的层,然后LayerNames(i)是图层名称后跟角色“/“以及图层输出的名称:'layername / outputname'。
/
'layername / outputname'
'汽车'
'没有任何'
性能优化,指定为以下之一:
'汽车'—自动对输入的网络和硬件资源进行多项优化。
'没有任何'- 禁用所有加速度。
默认选项是'汽车'。
使用'汽车'加速选项可以提供性能优势,但以增加初始运行时为代价。具有兼容参数的后续调用速度更快。当您计划使用具有相同大小和形状的不同输入数据多次调用函数时,请使用性能优化。
输出数据,作为格式化返回dlarray.。有关的更多信息dlarray.格式化,看FMT.输入论点dlarray.。
更新的网络状态,作为表返回。
网络状态是一个有三列的表:
层- 图层名称,指定为字符串标量。
层
范围-参数名称,指定为字符串标量。
范围
价值- 参数值,指定为adlarray.目的。
价值
网络状态包含在迭代之间的网络记住的信息。例如,LSTM和批量归一化层的状态。
更新一个状态dlnetwork.使用状态财产。
展开全部
R2021A中的行为发生了变化
为了dlnetwork.对象时,状态返回的输出参数预测函数是一个包含网络中每一层的状态参数名称和值的表。
从R2021A开始,状态值是dlarray.对象。此更改可在使用时更好地支持金宝app加速功能对象。为了加速具有频率更改输入值的深度学习功能,例如,包含网络状态的输入,必须指定频繁更改的值dlarray.对象。
加速功能
在以前的版本中,状态值是数字数组。
在大多数情况下,您无需更新代码。如果您有要求状态值的代码为数字数组,则要重现先前的行为,请使用该数据从状态值中提取数据提取数据函数与dlupdate.函数。
提取数据
dlupdate.
state = dlupdate(@ extractdata,dlnet.state);
使用说明和限制:
C ++代码生成支持以下语法:金宝app
[dly1,...,dlyn] =预测(__)
[dly1,...,dlyk] =预测(__,'输出',layernames)
输入数据DLX.不得有变量大小。大小必须在代码生成时间固定。
这dlarray.输入到预测方法必须是一个单身的数据类型。
GPU代码生成支持以下语法:金宝app
TenSOrt库的代码生成不支持将输入图层标记为输出通过使用金宝app[dly1,...,dlyk] =预测(__,'输出',layernames)句法。
如果满足以下任一条件或以下任何一个条件,则此函数在GPU上运行:
内部网络学习参数的任何值dlnet.learnables.Value.是dlarray.具有类型的底层数据的对象GPUArray.
dlnet.learnables.Value.
输入论点DLX.是A.dlarray.具有类型的底层数据GPUArray.
有关更多信息,请参阅在GPU上运行matlab函数(并行计算工具箱)。
dlarray.|dlfeval.|Dlgradient.|dlnetwork.|向前
dlfeval.
Dlgradient.
您有此示例的修改版本。您是否希望使用您的编辑打开此示例?
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
联系您当地的办公室