Deep Learning Toolbox

 

Deep Learning Toolbox

设计、训练和分析深度学习网络

开始:

网络和架构

训练深度学习网络以执行分类、回归,以及图像、时间序列和文本数据的特征学习。

卷积神经网络

学习图像中的模式,以便识别物体、人脸和场景。构造和训练卷积神经网络 (CNN) 执行特征提取和图像识别。

长短期记忆网络

学习序列数据(包括信号、音频、文本和其他时序数据)中的长期相关性。构造和训练长短期记忆 (LSTM) 网络以执行分类和回归。

使用 LSTM。

使用 LSTM。

网络架构

使用包括有向无环图 (DAG) 和循环架构在内的各种网络结构来构建您的深度学习网络。使用自定义训练循环、共享权重和自动微分构建高级网络架构,例如生成式对抗网络 (GAN) 和孪生网络。

使用不同网络架构。

使用不同网络架构。

网络设计和分析

使用交互式应用程序构建、可视化、实验和分析深度学习网络。

设计深度学习网络

使用 Deep Network Designer 应用程序从头开始创建和训练深度网络。导入预训练模型、可视化网络结构、编辑各层、调整参数并进行训练。

分析深度学习网络

分析您的网络架构,在训练前检测并调试错误、警告和层兼容性问题。可视化网络拓扑,并查看可学习参数和激活区域等详细信息。

分析深度学习网络架构。

分析深度学习网络架构。

管理深度学习实验

使用 Experiment Manager 应用程序管理多个深度学习实验。跟踪训练参数、分析结果,并比较来自不同实验的代码。使用训练图和混淆矩阵等可视化工具,对实验结果进行分类和筛选,并定义自定义指标来评估经过训练的模型。

迁移学习和预训练模型

在 MATLAB 中导入预训练模型以进行推断。

迁移学习

访问预训练的网络并以此为起点学习新任务。执行迁移学习,以使用网络中学习到的特征完成特定任务。

预训练模型

只需一行代码,即可访问时下最新的预训练网络。导入预训练模型,包括 DarkNet-53、ResNet-50、SqueezeNet、NASNet 和 Inception-v3。

分析预训练模型。

分析预训练模型。

可视化和调试

在深度学习网络中,可视化训练进度和所学习特征的激活区域。

训练进度

对多种指标进行绘图,以查看每次迭代的训练进度。将训练指标与验证指标对照绘制,查看网络是否过拟合。

监控模型的训练进度。

监控模型的训练进度。

网络激活区域

提取某一层对应的激活区域,可视化学习到的特征,并使用这些激活区域来训练机器学习分类器。使用 Grad-CAM 方法理解深度学习网络做出分类决策的依据。

可视化激活区域。

可视化激活区域。

框架互操作性

与 MATLAB 深度学习框架互操作。

ONNX 转换器

在 MATLAB® 中导入和导出 ONNX 模型,实现与其他深度学习框架的互操作性。借助 ONNX,您可以在一个框架中训练模型,然后迁移到另一个框架来进行推断。导入模型后,您可以使用 GPU Coder™ 生成优化的 NVIDIA®  CUDA®  代码,也可以使用 MATLAB Coder™ 生成 C++ 代码。

Interoperate with deep learning frameworks.

与深度学习框架互操作。

TensorFlow-Keras 导入器

将模型从 TensorFlow-Keras 导入 MATLAB 以进行推断和迁移学习。导入模型后,您可以使用 GPU Coder 生成优化的 CUDA 代码,也可以使用 MATLAB Coder 生成 C++ 代码。

Caffe 导入器

将模型从 Caffe Model Zoo 导入 MATLAB 以进行推断和迁移学习。

Importing models from Caffe Model Zoo into MATLAB.

将模型从 Caffe Model Zoo 导入 MATLAB。

训练加速

使用 GPU、云和分布式计算加快深度学习训练。

GPU 加速

利用高性能 NVIDIA GPU 加快深度学习训练和推断。您可以在单GPU 工作站上执行训练,也可以借助 DGX 系统扩展到数据中心或云端的多个 GPU。您可以结合使用 MATLAB、Parallel Computing Toolbox 以及大多数支持 CUDA、计算能力为 3.0 或更高的 NVIDIA GPU。

使用 GPU 进行加速。

使用 GPU 进行加速。

云加速

使用云实例缩短深度学习训练时间。使用高性能 GPU 实例获得最佳结果。

使用 Parallel Computing Toolbox 和 MATLAB Parallel Server 在云端加速训练。

使用 Parallel Computing Toolbox 和 MATLAB Parallel Server 在云端加速训练。

分布式计算

使用 MATLAB Parallel Server 在多台服务器上的多个处理器间运行网络的深度学习训练。

以并行方式在云端扩展深度学习。

以并行方式在云端扩展深度学习。

代码生成和部署

将训练好的网络部署到嵌入式系统或集成到生产环境。

仿真

在 Simulink® 中仿真深度学习网络并生成代码。使用 AlexNet、GoogLeNet 和其他预训练模型。您也可以仿真全新创建的网络或通过迁移学习创建的网络,包括 LSTM 网络。使用 GPU Coder 和 NVIDIA GPU 加快 Simulink 中深度学习网络的执行速度。使用控制、信号处理和传感器融合组件仿真深度学习网络,以评估深度学习模型对系统级性能的影响。

用于执行车道和车辆检测的 Simulink 模型内的深度卷积神经网络

用于执行车道和车辆检测的 Simulink® 模型内的深度卷积神经网络

代码生成

使用 GPU Coder 从 MATLAB 代码生成优化的 CUDA 代码,用于深度学习、嵌入式视觉和自主系统。使用 MATLAB Coder 生成 C++ 代码,以将深度学习网络部署到 Intel® Xeon® 和 ARM® Cortex®-A 处理器。自动进行交叉编译并将生成的代码部署到 NVIDIA Jetson™ 和 DRIVE™ 平台以及 Raspberry Pi™ 板上。

深度学习量化

使用 Model Quantization Library 支持包,将您的深度学习网络量化为 INT8,并分析选定层的权重和偏差因量化而发生的准确性取舍。

部署独立应用程序

使用 MATLAB Compiler™MATLAB Compiler SDK™,将基于深度学习模型的 MATLAB 程序中训练好的网络部署为 C++ 共享库、Microsoft® .NET 程序集、Java® 类或 Python® 包。

使用 MATLAB Compiler 共享独立 MATLAB 程序。

使用 MATLAB Compiler 共享独立 MATLAB 程序。

浅层神经网络

将神经网络用于各种有监督和无监督浅层神经网络架构。

有监督网络

训练有监督浅层神经网络,对动态系统进行建模和控制,对噪声数据分类,预测未来事件。 

浅层神经网络。

浅层神经网络。

无监督网络

让浅层网络不断基于新的输入自我调整,从而发现数据内的关系并自动定义分类方案。使用自组织、无监督的网络以及竞争层和自组织映射。

自组织映射。

自组织映射。

堆叠自编码器

通过使用自编码器从数据集提取低维特征,执行无监督特征变换。通过训练和堆叠多个编码器,您还可以使用堆叠自编码器进行有监督学习。

堆叠编码器。

堆叠编码器。