本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

使用 MATLAB Coder 进行深度学习的前提条件

MathWorks 产品

要使用 MATLAB® Coder™ 为深度学习网络生成代码,您还必须安装:

  • Deep Learning Toolbox™

  • MATLAB Coder Interface for Deep Learning Libraries

MATLAB Online™ 不支持 MATLAB Coder Interface for Deep Learning Libraries

第三方硬件和软件

您可以使用 MATLAB Coder 为部署到 Intel® 或 ARM® 处理器的深度学习网络生成 C++ 代码。生成的代码利用针对目标 CPU 进行了优化的深度学习库。硬件和软件要求取决于目标平台。

注意

所需软件库的路径不能包含空格或特殊字符,如括号。在 Windows® 操作系统中,仅当启用 8.3 文件名时才允许使用特殊字符和空格。有关 8.3 文件名的详细信息,请参考 Windows 文档。

 Intel CPUARM CPU
硬件要求

支持 Intel Advanced Vector Extensions 2 (Intel AVX2) 指令的 Intel 处理器。

支持 NEON 扩展的 ARM Cortex-A 处理器。

软件库

Intel Math Kernel Library for Deep Neural Networks (MKL-DNN), v0.14。请参阅https://01.org/mkl-dnn

不要使用预置的库,因为缺失一些必需的文件。请从源代码编译库。请参阅 GitHub®关于编译库的说明

有关编译的详细信息,请参阅 MATLAB Answers™ 中的以下帖子:https://www.mathworks.com/matlabcentral/answers/447387-matlab-coder-how-do-i-build-the-intel-mkl-dnn-library-for-deep-learning-c-code-generation-and-dep

针对计算机视觉和机器学习的 ARM Compute Library,版本 18.03、18.05、18.08、18.11、19.02。请参阅https://developer.arm.com/technologies/compute-library

coder.ARMNEONConfig 配置对象中或在 cnncodegen 命令的 targetparams 名称-值对组参数中指定版本号。默认版本号是 v19.02。

不要使用预置库,因为它可能与 ARM 硬件上的编译器不兼容。请从源代码编译库。请在您的主机上或直接在目标硬件上编译库。请参阅 GitHub 上关于编译库的说明

包含库文件(如 libarm_compute.so)的文件夹应命名为 lib。如果文件夹名称为 build,请将文件夹重命名为 lib

有关编译的详细信息,请参阅 MATLAB Answers 中的以下帖子:https://www.mathworks.com/matlabcentral/answers/455590-matlab-coder-how-do-i-build-the-arm-compute-library-for-deep-learning-c-code-generation-and-deplo

操作系统支持

仅限 Windows 和 Linux®

仅限 Windows 和 Linux。

C++ 编译器

MATLAB Coder 将查找并使用支持的已安装编译器。有关受支持编译器的列表,请参阅 MathWorks® 网站上的支持和兼容的编译器

可以使用 mex -setup 更改默认编译器。请参阅更改默认编译器 (MATLAB)。

C++ 编译器必须支持 C++11。

在 Windows 上,使用 codegen 命令为深度学习网络生成代码需要 Microsoft® Visual Studio® 2015 或更高版本。

其他

有些深度学习示例需要 Open Source Computer Vision Library (OpenCV) v3.1.0。

注意:这些示例需要单独的库,例如 opencv_core.libopencv_video.lib。Computer Vision Toolbox™ 附带的 OpenCV 库没有必需的库,OpenCV 安装程序也不会安装它们。因此,您必须下载 OpenCV 源代码并编译这些库。

有关详细信息,请参考 OpenCV 文档。

环境变量

MATLAB Coder 使用环境变量来定位为深度学习网络生成代码所需的库。

平台变量名称说明
Windows INTEL_MKLDNN

Intel MKL-DNN 库安装的根文件夹的路径。

例如:

C:\Program Files\mkl-dnn

ARM_COMPUTELIB

ARM 目标硬件上 ARM Compute Library 安装的根文件夹的路径。

例如:

/usr/local/arm_compute

在 ARM 目标硬件上设置 ARM_COMPUTELIB

OPENCV_DIR

OpenCV 的编译文件夹的路径。为使用 OpenCV 的深度学习示例安装 OpenCV。

例如:

C:\Program Files\opencv\build

PATH

Intel MKL-DNN 库文件夹的路径。

例如:

C:\Program Files\mkl-dnn\lib

OpenCV 的动态链接库 (DLL) 的路径。为使用 OpenCV 的深度学习示例安装 OpenCV。

例如:

C:\Program Files\opencv\build\x64\vc15\bin

Linux LD_LIBRARY_PATH

Intel MKL-DNN 库文件夹的路径。

例如:

/usr/local/mkl-dnn/lib/

目标硬件上 ARM Compute Library 文件夹的路径。

例如:

/usr/local/arm_compute/lib/

在 ARM 目标硬件上设置 LD_LIBRARY_PATH

INTEL_MKLDNN

Intel MKL-DNN 库安装的根文件夹的路径。

例如:

/usr/local/mkl-dnn/

ARM_COMPUTELIB

ARM 目标硬件上 ARM Compute Library 安装的根文件夹的路径。

例如:

/usr/local/arm_compute/

在 ARM 目标硬件上设置 ARM_COMPUTELIB

注意

要使用 MATLAB Support Package for Raspberry Pi™ Hardware 为 Raspberry Pi 生成代码,您必须以非交互方式设置环境变量。有关说明,请参阅 https://www.mathworks.com/matlabcentral/answers/455591-matlab-coder-how-do-i-setup-the-environment-variables-on-arm-targets-to-point-to-the-arm-compute-li

注意

要编译和运行使用 OpenCV 的示例,您必须在主机或目标板上安装 OpenCV 库。对于 Linux 上的 OpenCV 安装,请确保库文件的路径和头文件的路径在系统路径上。默认情况下,库文件和头文件分别安装在一个标准位置,如 /usr/local/lib//usr/local/include/opencv

对于 Windows 上的 OpenCV 安装,请按照上表所述设置 OPENCV_DIRPATH 环境变量。

相关主题