Image Classifier
使用经过训练的深度学习神经网络对数据进行分类
库:
Deep Learning Toolbox /
Deep Neural Networks
描述
Image Classifier 模块使用通过模块参数指定的已训练网络来预测输入端数据的类标签。此模块允许从 MAT 文件或使用 MATLAB® 函数将预训练网络加载到 Simulink® 模型中。
示例
使用 GoogLeNet 对 Simulink 中的图像进行分类
此示例说明如何使用 Image Classifier 模块对 Simulink® 中的图像进行分类。此示例使用预训练的深度卷积神经网络 GoogLeNet 执行分类。
Classify ECG Signals in Simulink Using Deep Learning
Use wavelet transforms and a deep learning network within a Simulink (R) model to classify ECG signals. This example uses the pretrained convolutional neural network from the Classify Time Series Using Wavelet Analysis and Deep Learning example of the Wavelet Toolbox™ to classify ECG signals based on images from the CWT of the time series data. For information on training, see Classify Time Series Using Wavelet Analysis and Deep Learning (Wavelet Toolbox).
限制
Image Classifier 模块不支持序列网络和多输入多输出网络 (MIMO)。
Image Classifier 模块不支持 MAT 文件日志记录。
端口
输入
h×w×c×N 数值数组,其中 h、w 和 c 分别是图像的高度、宽度和通道数,N 是图像的数量。
N×numFeatures 数值数组,其中 N 是观测值数量,numFeatures 是输入数据的特征数。
如果数组包含 NaN,则它们会通过网络传播。
输出
具有最高分数的预测类标签,以 N×1 标签枚举向量形式返回,其中 N 是观测值数量。
预测的分数,以 K×N 矩阵形式返回,其中 K 是类数,N 是观测值数量。
与预测分数相关联的标签,以 N×K 矩阵形式返回,其中 N 是观测值数量,K 是类数。
参数
指定经过训练的网络的源。选择下列项之一:
从 MAT 文件创建网络 - 从包含
dlnetwork对象的 MAT 文件中导入经过训练的网络。从 MATLAB 函数创建网络 - 从 MATLAB 函数导入预训练网络。例如,要使用预训练的 GoogLeNet,请在 MATLAB M 文件中创建一个函数
pretrainedGoogLeNet,然后导入此函数。function net = pretrainedGoogLeNet net = imagePretrainedNetwork("googlenet"); end
编程用法
模块参数:Network |
| 类型:字符向量、字符串 |
值:'Network from MAT file' | 'Network from MATLAB function' |
默认值: 'Network from MAT file' |
此参数用于指定 MAT 文件的名称,该文件包含要加载的经过训练的深度学习网络。如果该文件不在 MATLAB 路径中,请使用浏览按钮找到该文件。
依赖关系
要启用此参数,请将网络参数设置为从 MAT 文件创建网络。
编程用法
模块参数:NetworkFilePath |
| 类型:字符向量、字符串 |
| 值:MAT 文件路径或名称 |
默认值: 'untitled.mat'
|
此参数指定预训练深度学习网络的 MATLAB 函数的名称。例如,要使用预训练的 GoogLeNet,请在 MATLAB M 文件中创建一个函数 pretrainedGoogLeNet,然后导入此函数。
function net = pretrainedGoogLeNet net = imagePretrainedNetwork("googlenet"); end
依赖关系
要启用此参数,请将网络参数设置为从 MATLAB 函数创建网络。
编程用法
模块参数:NetworkFunction |
| 类型:字符向量、字符串 |
| 值:MATLAB 函数名称 |
默认值: 'squeezenet' |
用于预测的小批量的大小,指定为正整数。小批量大小越大,需要的内存越多,但预测速度可能更快。
编程用法
模块参数:MiniBatchSize |
| 类型:字符向量、字符串 |
| 值:正整数 |
默认值: '128' |
将输入端口的数据大小调整为网络的输入大小。
编程用法
模块参数:ResizeInput |
| 类型:字符向量、字符串 |
值:'off' | 'on' |
默认值: 'on' |
启用输出具有最高分数的标签的输出端口 ypred。
编程用法
模块参数:Classification |
| 类型:字符向量、字符串 |
值:'off' | 'on' |
默认值: 'on' |
启用输出所有预测分数和相关联的类标签的输出端口 scores 和 labels。
编程用法
模块参数:Predictions |
| 类型:字符向量、字符串 |
值:'off' | 'on' |
默认值: 'off' |
包含类名称的变量,指定为分类向量、字符串数组或字符向量元胞数组。
网络的输出大小必须与类的数量匹配。
依赖关系
要启用此参数,请将网络参数设置为从 MAT 文件创建网络,以便从 MAT 文件导入经过训练的 dlnetwork 对象。
编程用法
模块参数:classNames |
| 类型:分类向量、字符串数组或字符向量元胞数组的变量名称。 |
| 值:包含类名称的变量的名称,指定为分类向量、字符串数组或字符向量元胞数组。 |
默认值:工作区变量 classNames。 |
提示
您可以利用 Intel® MKL-DNN 库,通过代码生成来加速您的仿真。有关详细信息,请参阅Acceleration for Simulink Deep Learning Models。
扩展功能
用法说明和限制:
要生成不依赖第三方库的通用 C 代码,请在配置参数 > 代码生成常规类别中,将语言参数设置为 C。
要生成 C++ 代码,请在配置参数 > 代码生成常规类别中,将语言参数设置为 C++。要指定代码生成的目标库,请在代码生成 > 接口类别中,设置目标库参数。将此参数设置为无会生成不依赖第三方库的泛型 C++ 代码。
有关代码生成支持的网络和层的列表,请参阅代码生成支持的网络和层 (MATLAB Coder)。
用法说明和限制:
配置参数 > 代码生成常规类别中的语言参数必须设置为 C++。
有关 CUDA® 代码生成支持的网络和层的列表,请参阅Supported Networks, Layers, and Classes (GPU Coder)。
要了解有关为包含 Image Classifier 模块的 Simulink 模型生成代码的详细信息,请参阅Code Generation for a Deep Learning Simulink Model to Classify ECG Signals (GPU Coder)。
版本历史记录
在 R2020b 中推出从 R2024a 开始,不推荐使用 SeriesNetwork 和 DAGNetwork 对象。这意味着,不推荐将 SeriesNetwork 和 DAGNetwork 用作 Image Classifier 模块的输入。请改用 dlnetwork 对象。dlnetwork 对象具有以下优势:
dlnetwork对象是一种统一的数据类型,支持网络构建、预测、内置训练、可视化、压缩、验证和自定义训练循环。dlnetwork对象支持更广泛的网络架构,您可以创建或从外部平台导入这些网络架构。trainnet函数支持dlnetwork对象,这使您能够轻松指定损失函数。您可以从内置损失函数中进行选择或指定自定义损失函数。使用
dlnetwork对象进行训练和预测通常比使用LayerGraph和trainNetwork工作流更快。
包含 dlnetwork 对象的 Simulink 模块模型具有不同的行为。预测分数以 K×N 矩阵形式返回,其中 K 是类数,N 是观测值的数量。如果您有一个现有的 Simulink 模块模型,其中包含 SeriesNetwork 或 DAGNetwork 对象,请按照以下步骤改用 dlnetwork 对象:
使用
dag2dlnetwork函数将SeriesNetwork或DAGNetwork对象转换为dlnetwork。定义包含网络输出类名称的工作区变量,该变量与模块参数类名称工作区变量相对应。
使用转置模块将预测分数转置为 N×K 数组,其中 N 是观测值数量,K 是类数。
另请参阅
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- 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)

