深度学习

MATLAB 和 Simulink 在边缘 AI 中的应用

将机器学习和深度学习应用部署到嵌入式系统

仿真、测试机器学习与深度学习模型并将其部署到边缘设备和嵌入式系统。为完整的 AI 应用生成代码,包括预处理和后处理算法。

借助 MATLAB® 和 Simulink®,您可以:

  • 生成优化的 C/C++ 和 CUDA 代码以部署到 CPU 和 GPU
  • 生成可综合的 Verilog 和 VHDL 代码以部署到 FPGA 和 SoC
  • 使用硬件优化的深度学习库(包括 oneDNN、Arm Compute Library 和 TensorRT)加速推断
  • 将预训练的 TensorFlow Lite (TFLite) 模型集成到部署到硬件的应用中
  • 使用超参数调节、量化和网络剪枝工具,压缩 AI 模型以在资源受限的硬件上进行推断

“从数据注释到选择、训练、测试和微调深度学习模型,MATLAB 拥有我们所需的全部工具。尽管我们的 GPU 使用经验有限,GPU Coder 仍然帮助我们很快地将实现部署到了 NVIDIA GPU。”

Valerio Imbriolo,Drass Group
C/C++ 代码部署到嵌入式硬件的示意图。

CPU 和微控制器

使用 MATLAB Coder™ 和 Simulink Coder™ 通过经训练的机器学习和深度学习模型生成可移植的优化 C/C++ 代码。还可以选择在生成的代码中包含对针对深度学习推断进行了优化的供应商特定库的调用,如 oneDNN 和 Arm® Compute Library。

Simulink 中的 C/C++ 代码部署到 NVIDIA 桌面和嵌入式 GPU 的示意图。

GPU

使用 GPU Coder™ 为经过训练的深度学习网络生成优化的 CUDA® 代码。将预处理和后处理以及您的网络整合在一起作为完整的算法部署到桌面、服务器和嵌入式 GPU。使用 NVIDIA® CUDA 库(如 TensorRT™ 和 cuDNN)最大限度地提高性能。

使用 MATLAB 在原型硬件上运行基于 FPGA 的深度学习推断,随后生成深度学习 HDL IP 核,以在任意 FPGA 或 ASIC 上进行部署。

FPGA 和 SoC

使用 Deep Learning HDL Toolbox™ 在 FPGA 和 SoC 上进行深度学习网络的原型构建和实现。使用为流行的 FPGA 开发工具包预置的比特流对深度学习处理器和数据移动 IP 核进行编程。使用 HDL Coder™ 生成自定义深度学习处理器 IP 核和比特流。

深度网络量化器中用于优化嵌入式部署的 AI 模型的层图、标定统计量和验证结果截图。

AI 模型压缩

通过超参数调节以及权重、偏置和激活的量化降低机器学习和深度学习模型的内存要求。通过对不重要的层连接进行剪枝来最小化深度神经网络的大小。