深度学习的先决条件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处理器 |
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 中指定版本号 不要使用预构建的库,因为它可能与ARM硬件上的编译器不兼容。相反,从源代码构建库。在您的主机上或直接在目标硬件上构建库。看到建立图书馆的说明在GitHub上。 包含库文件的文件夹,例如 有关构建的更多信息,请参阅本文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库的代码,请使用 在Windows上,要生成不使用任何第三方库的通用C或c++代码,请使用Microsoft Visual Studio还是MinGW®编译器。有关更多信息,请参见为深度学习网络生成通用C/ c++代码. 请注意 对于使用Intel mml - dnn库生成MEX函数,不支持MinGW编译器。金宝app |
||
其他 | 开源计算机视觉图书馆(OpenCV), v3.1.0版本用于基于ARM Cortex-A的深度学习示例。 注意:示例需要单独的库,例如 要了解更多信息,请参考OpenCV文档。 |
环境变量
MATLAB编码器使用环境变量定位为深度学习网络生成代码所需的库。
平台 | 变量名 | 描述 |
---|---|---|
窗户 | INTEL_MKLDNN |
Intel mml - dnn库安装的根文件夹的路径。 例如:
|
ARM_COMPUTELIB |
ARM目标硬件上ARM计算库安装的根文件夹的路径。 例如:
集 |
|
CMSISNN_PATH |
ARM目标硬件上CMSIS-NN库安装的根文件夹的路径。 例如:
集 |
|
路径 |
Intel mml - dnn库文件夹的路径。 例如:
|
|
Linux | LD_LIBRARY_PATH |
Intel mml - dnn库文件夹的路径。 例如:
|
目标硬件上ARM计算库文件夹的路径。 例如:
集 |
||
INTEL_MKLDNN |
Intel mml - dnn库安装的根文件夹的路径。 例如:
|
|
ARM_COMPUTELIB |
ARM目标硬件上ARM计算库安装的根文件夹的路径。 例如:
集 |
|
CMSISNN_PATH |
ARM目标硬件上CMSIS-NN库安装的根文件夹的路径。 例如:
集 |
|
macOS | INTEL_MKLDNN |
Intel mml - dnn库安装的根文件夹的路径。 例如:
|
UNIX®基于ARM Cortex-A的操作系统 | OPENCV_DIR |
OpenCV构建文件夹的路径。对于使用OpenCV的深度学习示例,请安装OpenCV。 例如:
|
请注意
为树莓派™生成代码树莓派硬件的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的其他平台,您可以设置类似的环境变量来提高所生成代码的性能。