主要内容

深度学习的先决条件MATLAB编码器

MathWorks下载188bet金宝搏

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

  • 深度学习工具箱™

  • 深度学习库的MATLAB编码器接口

深度学习库的MATLAB编码器接口不支持金宝appMATLAB在线™

第三方软硬件

你可以使用MATLAB编码器生成用于部署到英特尔的深度学习网络的c++代码®或手臂®处理器。生成的代码利用针对目标CPU优化的深度学习库。硬件和软件需求取决于目标平台。

你也可以使用MATLAB编码器为深度学习网络生成通用的C或c++代码。这样的C或c++代码不依赖于任何第三方库。有关更多信息,请参见为深度学习网络生成通用C/ c++代码

请注意

所需软件库的路径不能包含空格或特殊字符,如圆括号。在Windows上®只有启用8.3文件名时,才允许使用操作系统、特殊字符和空格。有关8.3文件名的更多信息,请参阅Windows文档。

英特尔cpu ARM Cortex-A cpu ARM Cortex-M处理器
硬件需求

支持Intel Advanced Vect金宝appor Extensions 2的Intel处理器AVX2)指令。

ARM Cortex-A处理器支持金宝app霓虹灯扩展。

ARM Cortex-M处理器。

软件库

Intel深度神经网络数学内核库(MKL-DNN), v1.4。看到https://01.org/onednn

不要使用预构建的库,因为缺少一些必需的文件。相反,从源代码构建库。看到建立图书馆的说明GitHub上®

有关构建的更多信息,请参阅本文MATLAB的答案™//www.tatmou.com/matlabcentral/answers/447387-matlab-coder-how-do-i-build-the-intel-mkl-dnn-library-for-deep-learning-c-code-generation-and-dep

请注意

在生成在MATLAB主机计算机上运行的MEX函数时,建议使用MKL-DNN目标,而不是生成通用的C/ c++代码。使用mml - dnn库生成的代码可能比通用代码具有更好的性能。

ARM计算库用于计算机视觉和机器学习,版本19.05和20.02.1。看到https://developer.arm.com/ip-下载188bet金宝搏products/processors/machine-learning/compute-library

中指定版本号编码器。ARMNEONConfig配置对象。默认版本号为v20.02.1。

不要使用预构建的库,因为它可能与ARM硬件上的编译器不兼容。相反,从源代码构建库。在您的主机上或直接在目标硬件上构建库。看到建立图书馆的说明在GitHub上。

包含库文件的文件夹,例如libarm_compute.so应该命名为自由.如果文件夹已命名构建,重命名为自由

有关构建的更多信息,请参阅本文MATLAB的答案//www.tatmou.com/matlabcentral/answers/455590-matlab-coder-how-do-i-build-the-arm-compute-library-for-deep-learning-c-code-generation-and-deplo

要在ARM处理器上部署量化网络,必须使用ARM计算库版本20.02.1。

CMSIS-NN库版本5.7.0。看到https://developer.arm.com/tools-and-software/embedded/cmsis

使用中提供的构建步骤在主机上构建库MATLAB的答案//www.tatmou.com/matlabcentral/answers/1631260

操作系统支持金宝app

Windows、Linux®,macOS

仅限Windows和Linux。

仅限Windows和Linux。

c++编译器

MATLAB编码器定位并使用受支持的已安装编译器。金宝app有关受支持的编译器列表,请参见金宝app金宝app支持和兼容的编译器关于MathWorks®的网站。

你可以使用墨西哥人设置更改默认编译器。看到更改默认编译器

c++编译器必须支持c++ 11。金宝app

在Windows上,要生成使用英特尔mml - dnn库的代码,请使用codegen命令,使用微软®Visual Studio®2015年或更晚。

在Windows上,要生成不使用任何第三方库的通用C或c++代码,请使用Microsoft Visual Studio还是MinGW®编译器。有关更多信息,请参见为深度学习网络生成通用C/ c++代码

请注意

对于使用Intel mml - dnn库生成MEX函数,不支持MinGW编译器。金宝app

其他

开源计算机视觉图书馆(OpenCV), v3.1.0版本用于基于ARM Cortex-A的深度学习示例。

注意:示例需要单独的库,例如opencv_core.lib而且opencv_video.lib.的OpenCV随计算机视觉工具箱™一起提供的库不具有所需的库和OpenCV安装程序不会安装它们。因此,您必须下载OpenCV来源和构建库。

要了解更多信息,请参考OpenCV文档。

环境变量

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

平台 变量名 描述
窗户 INTEL_MKLDNN

Intel mml - dnn库安装的根文件夹的路径。

例如:

C:\Program Files\mkl-dnn

ARM_COMPUTELIB

ARM目标硬件上ARM计算库安装的根文件夹的路径。

例如:

/usr/local/arm_compute

ARM_COMPUTELIB在ARM目标硬件上。

CMSISNN_PATH

ARM目标硬件上CMSIS-NN库安装的根文件夹的路径。

例如:

/usr/local/cmsis_nn

CMSISNN_PATH在ARM目标硬件上。

路径

Intel mml - dnn库文件夹的路径。

例如:

C:\Program Files\mkl-dnn\lib

Linux LD_LIBRARY_PATH

Intel mml - dnn库文件夹的路径。

例如:

/usr/local/mkl-dnn/lib/

目标硬件上ARM计算库文件夹的路径。

例如:

/usr/local/arm_compute / lib /

LD_LIBRARY_PATH在ARM目标硬件上。

INTEL_MKLDNN

Intel mml - dnn库安装的根文件夹的路径。

例如:

/usr/local/mkl-dnn/

ARM_COMPUTELIB

ARM目标硬件上ARM计算库安装的根文件夹的路径。

例如:

/usr/local/arm_compute /

ARM_COMPUTELIB在ARM目标硬件上。

CMSISNN_PATH

ARM目标硬件上CMSIS-NN库安装的根文件夹的路径。

例如:

/usr/local/cmsis_nn

CMSISNN_PATH在ARM目标硬件上。

macOS INTEL_MKLDNN

Intel mml - dnn库安装的根文件夹的路径。

例如:

/usr/local/mkl-dnn

UNIX®基于ARM Cortex-A的操作系统 OPENCV_DIR

OpenCV构建文件夹的路径。对于使用OpenCV的深度学习示例,请安装OpenCV。

例如:

/usr/local/opencv/build

请注意

为树莓派™生成代码树莓派硬件的M金宝appATLAB支持包时,必须以非交互方式设置环境变量。有关说明,请参见//www.tatmou.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,分别。

如果在目标板上安装OpenCV,请设置OPENCV_DIR而且路径环境变量如上表所述。

请注意

通过设置环境变量来控制OpenMP线程与物理处理单元的绑定,您可能能够提高为Intel cpu生成的代码的性能。例如,在Linux平台上,设置KMP_AFFINITY环境变量为散射.对于使用Intel CPU-s的其他平台,您可以设置类似的环境变量来提高所生成代码的性能。

相关的话题