Deep Learning Toolbox

创建、分析和训练深度学习网络

 

Deep Learning Toolbox™(以前的 Neural Network Toolbox™)提供了一个利用算法、预训练模型和应用程序来设计和实现深度神经网络的框架。您可以使用卷积神经网络(ConvNet、CNN)和长短期记忆 (LSTM) 网络,对图像、时间序列和文本数据执行分类和回归。您可以使用自定义的训练循环、共享权重和自动微分构建高级网络架构,例如生成式对抗网络 (GAN) 和孪生网络。借助应用程序和绘图,实现可视化激活、编辑和分析网络架构以及监控训练进度。

可通过开放神经网络交换 (ONNX) 格式与 TensorFlow™ 和 PyTorch 进行模型互换,也可以从 TensorFlow-Keras 和 Caffe 导入模型。该工具箱利用预训练模型(包括 NASNet、SqueezeNet、Inception-v3 和 ResNet-101)支持迁移学习。

您可以利用 Parallel Computing Toolbox™ 加快模型在单 GPU 或多 GPU 工作站上的训练速度,或者利用 MATLAB Parallel Server™ 将运算扩展到集群和云,包括 NVIDIA® GPU Cloud 和 Amazon EC2® GPU 实例。

开始:

网络和架构

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

卷积神经网络

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

长短期记忆网络

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

使用 LSTM。

网络架构

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

使用不同网络架构。

网络设计和分析

使用交互式应用程序创建、编辑、可视化和分析深度学习网络。 

设计深度学习网络

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

分析深度学习网络

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

分析深度学习网络架构。

迁移学习和预训练模型

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

迁移学习

访问预训练的网络并以此为起点学习新任务,只需使用较少的训练图像即可将已学习的特征快速迁移到新任务。

预训练模型

使用一行代码访问最新研究中的预训练网络。导入预训练模型,包括 Inception-v3、SqueezeNet、NASNet 和 GoogLeNet。

分析深度神经网络模型。

可视化和调试

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

训练进度

通过绘制多种指标,查看每次迭代的训练进度。对照训练指标绘制验证指标,以直观地检查网络是否过拟合。

监控您的模型的训练进度。

网络激活

提取与一个层对应的激活,可视化学习的特征,使用激活训练机器学习分类器。使用 Grad-CAM 方法理解深度学习网络做出分类决策的理由。

可视化激活。

框架互操作性

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

ONNX 转换器

在 MATLAB® 内导入和导出 ONNX 模型,实现与其他深度学习框架的互操作性。利用 ONNX 在一个框架中训练模型,然后转移到另一个框架进行推断。使用 GPU Coder™ 为被导入模型生成优化的 CUDA 代码,使用 MATLAB Coder™ 生成 C/C++ 代码。

与深度学习框架互操作。

TensorFlow-Keras 导入器

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

Caffe 导入器

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

从 Caffe Model Zoo 向 MATLAB 中导入模型。

训练加速

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

GPU 加速

利用高性能 NVIDIA GPU 加快深度学习训练和推断的速度。在单个工作站 GPU 上执行训练,或者借助 DGX 系统扩展到数据中心或云端的多个 GPU。您可以将 MATLAB 与 Parallel Computing Toolbox 以及大多数支持 CUDA® 的 NVIDIA GPU(Compute Capability 3.0 或更高版本)结合使用。

使用 GPU 进行加速。

云加速

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

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

分布式计算

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

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

代码生成和部署

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

代码生成

使用 GPU Coder 从 MATLAB 代码生成优化的 CUDA 代码,用于深度学习、嵌入式视觉和自主系统。使用 MATLAB Coder 生成 C 和 C++ 代码,以将深度学习网络部署到 Intel® Xeon® 和 ARM® Cortex®-A 处理器。

部署独立应用程序

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

与 MATLAB Compiler 共享独立 MATLAB 程序。

浅层神经网络

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

有监督网络

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

浅层神经网络。

无监督网络

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

自组织映射。

堆叠式自动编码器

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

堆叠式自动编码器。

最新特性

训练灵活性

用自定义训练循环、自动微分、共享权重和自定义损失函数,训练高级网络架构

深度学习网络

构建生成对抗网络 (GAN)、孪生网络、变分自编码器和注意力网络

数据预处理

用多个数据归一化选项提高训练性能

可视化

用遮挡敏感度映射输入数据的强烈激活特征

多输入多输出网络

训练具有多输入和多输出的网络

长短期记忆 (LSTM) 网络

计算中间层激活

ONNX 支持

将组合 CNN 和 LSTM 层的网络以及包括 3D CNN 层的网络导出到 ONNX 格式

关于这些特性和相应函数的详细信息,请参阅发行说明

MATLAB 实现深度学习

设计、构建和可视化深度学习网络

有疑问吗?

联系 Deep Learning Toolbox 技术专家 Shounak Mitra

获取免费试用版

30 天探索触手可及。

马上下载

准备购买?

获取详细价格和并探索相关产品。

您是学生吗?

获得 MATLAB 和 Simulink 学生版软件。

了解更多