Predict
库:
Deep Learning Toolbox /
Deep Neural Networks
描述
Predict 模块使用通过模块参数指定的已训练网络来预测输入端数据的响应。此模块允许从 MAT 文件或使用 MATLAB® 函数将预训练网络加载到 Simulink® 模型中。
端口
输入
input — 图像、特征、序列或时间序列数据
数值数组
Predict 模块的输入端口接受所加载网络的输入层名称。例如,如果您为 MATLAB function
指定 googlenet
,则 Predict 模块的输入端口将标注为数据。根据加载的网络,Predict 模块的输入可以是图像、序列或时间序列数据。
输入的格式取决于数据的类型。
数据 | 预测变量的格式 |
---|---|
二维图像 | h×w×c×N 数值数组,其中 h、w 和 c 分别是图像的高度、宽度和通道数,N 是图像的数量。 |
向量序列 | c×s 矩阵,其中 c 是序列的特征数,s 是序列长度。 |
二维图像序列 | h×w×c×s 数组,其中 h、w 和 c 分别对应于图像的高度、宽度和通道数,s 是序列长度。 |
特征 | N×numFeatures 数值数组,其中 N 是观测值数目,numFeatures 是输入数据的特征数。 |
如果数组包含 NaN
,则它们会通过网络传播。
输出
output — 预测的分数、响应或激活
数值数组
Predict 模块的输出端口接受所加载网络的输出层名称。例如,如果您为 MATLAB function
指定 googlenet
,则 Predict 模块的输出端口标注为输出。基于加载的网络,Predict 模块的输出可以表示预测的分数或响应。
预测的分数或响应,以 N×K 数组形式返回,其中 N 是观测值数目,K 是类数。
如果为一个网络层启用 Activations
,则 Predict 模块会使用所选网络层的名称创建一个新输出端口。此端口输出来自所选网络层的激活值。
网络层的激活值以数值数组形式返回。输出格式取决于输入数据的类型和层输出的类型。
对于二维图像输出,activations 是一个 h×w×c×n 数组,其中 h、w 和 c 分别是所选层输出的高度、宽度和通道数,n 是图像的数量。
对于包含向量数据的单个时间步,激活值是一个 c×n 矩阵,其中 n 是序列的数量,c 是序列中特征的数量。
对于包含二维图像数据的单个时间步,activations 是一个 h×w×c×n 数组,其中 n 是序列数,h、w 和 c 分别是图像的高度、宽度和通道数。
参数
网络 — 经过训练的网络的源
从 MAT 文件创建网络 (默认) | 从 MATLAB 函数创建网络
指定经过训练的网络的源。选择下列项之一:
从 MAT 文件创建网络 - 从包含
SeriesNetwork
、DAGNetwork
或dlnetwork
对象的 MAT 文件中导入经过训练的网络。从 MATLAB 函数创建网络 - 从 MATLAB 函数导入预训练网络。例如,通过使用
googlenet
函数。
编程用法
模块参数:Network |
类型:字符向量、字符串 |
值:'Network from MAT-file' | 'Network from MATLAB function' |
默认值: 'Network from MAT-file' |
文件路径 — 包含训练网络的 MAT 文件
untitled.mat
(默认) | MAT 文件路径或名称
此参数指定包含要加载的经过训练的深度学习网络的 MAT 文件名称。如果该文件不在 MATLAB 路径中,请使用浏览按钮找到该文件。
依存关系
要启用此参数,请将网络参数设置为从 MAT 文件创建网络。
编程用法
模块参数:NetworkFilePath |
类型:字符向量、字符串 |
值:MAT 文件路径或名称 |
默认值: 'untitled.mat' |
MATLAB 函数 — MATLAB 函数名称
squeezenet
(默认) | MATLAB 函数名称
此参数指定预训练深度学习网络的 MATLAB 函数的名称。例如,使用 googlenet
函数导入预训练的 GoogLeNet 模型。
依存关系
要启用此参数,请将网络参数设置为从 MATLAB 函数创建网络。
编程用法
模块参数:NetworkFunction |
类型:字符向量、字符串 |
值:MATLAB 函数名称 |
默认值: 'squeezenet' |
批量大小小 — 小批量的大小
128 (默认) | 正整数
用于预测的小批量的大小,指定为正整数。小批量大小越大,需要的内存越多,但预测速度可能更快。
编程用法
模块参数:MiniBatchSize |
类型:字符向量、字符串 |
值:正整数 |
默认值: '128' |
预测 — 输出预测的分数或响应
on
(默认) | off
启用返回预测的分数或响应的输出端口。
编程用法
模块参数:Predictions |
类型:字符向量、字符串 |
值:'off' | 'on' |
默认值: 'on' |
输入数据格式 — dlnetwork
的输入数据格式
''
(默认) | 字符向量 | 字符串
此参数指定经过训练的 dlnetwork
要求的输入数据格式。
数据格式是字符串,其中每个字符描述数据的对应维度的类型。例如,对于包含一批序列的数组,其中第一个、第二个和第三个维度分别对应于通道、观测值和时间步,您可以指定其格式为 "CBT"
。有关详细信息,请参阅Deep Learning Data Formats。
依存关系
要启用此参数,请将网络参数设置为从 MAT 文件创建网络,以便从 MAT 文件导入经过训练的 dlnetwork
对象。
编程用法
模块参数:InputDataFormats |
类型:字符向量、字符串 |
值:对于具有一个或多个输入的网络,请使用 {'inputlayerName1', 'SSC'; 'inputlayerName2', 'SSCB'; ...}' 形式的字符向量。对于没有输入层但有多个输入端口的网络,请使用 '{'inputportName1/inport1, 'SSC'; 'inputportName2/inport2, 'SSCB'; ...}' 形式的字符向量。 |
默认值: '' |
激活值 — 输出特定层的网络激活值
网络的层
使用激活列表选择要从中提取特征的层。所选层显示为 Predict 模块的输出端口。
编程用法
模块参数:Activations |
类型:字符向量、字符串 |
值:'{'layerName1',layerName2',...}' 形式的字符向量 |
默认值: '' |
扩展功能
C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
要生成不依赖第三方库的通用 C 代码,请在配置参数 > 代码生成常规类别中,将语言参数设置为 C。
要生成 C++ 代码,请在配置参数 > 代码生成常规类别中,将语言参数设置为 C++。要指定代码生成的目标库,请在代码生成 > 接口类别中,设置目标库参数。将此参数设置为无会生成不依赖第三方库的泛型 C++ 代码。
对于基于 ERT 的目标,必须启用代码生成 > 接口窗格中的支持: 可变大小信号参数。
有关代码生成支持的网络和层的列表,请参阅代码生成支持的网络和层 (MATLAB Coder)。
GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。
用法说明和限制:
配置参数 > 代码生成常规类别中的语言参数必须设置为 C++。
有关 CUDA® 代码生成支持的网络和层的列表,请参阅Supported Networks, Layers, and Classes (GPU Coder)。
要了解有关为包含 Predict 模块的 Simulink 模型生成代码的详细信息,请参阅Code Generation for a Deep Learning Simulink Model That Performs Lane and Vehicle Detection (GPU Coder)。
版本历史记录
在 R2020b 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)