To use MATLAB® Coder™ to generate code for deep learning networks, you must also install:
Deep Learning Toolbox™
MATLAB Coder Interface for Deep Learning Libraries
The MATLAB Coder Interface for Deep Learning Libraries is not supported for MATLAB Online™.
You can use MATLAB Coder to generate C++ code for deep learning networks that you deploy to Intel® or ARM® processors. The generated code takes advantage of deep learning libraries optimized for the target CPU. The hardware and software requirements depend on the target platform.
Note
The paths to the required software libraries must not contain spaces or special characters, such as parentheses. On Windows® operating systems, special characters and spaces are allowed only if 8.3 file names are enabled. For more information on 8.3 file names, refer to the Windows documentation.
Intel CPUs | ARM CPUs | |
---|---|---|
Hardware Requirements | Intel processor with support for Intel Advanced Vector Extensions 2 (Intel
| ARM Cortex-A processors that support the |
Software Libraries | Intel Math Kernel Library for Deep Neural Networks (MKL-DNN), v1.0. See https://01.org/mkl-dnn Do not use a prebuilt library because some required files are missing. Instead, build the library from the source code. See instructions for building the library on GitHub®. For more information on build, see this post in 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 for computer vision and machine learning, versions 18.05, 18.08, 18.11, 19.02, and 19.05. See https://developer.arm.com/technologies/compute-library Specify the version number in a Do not use a prebuilt library because it might be incompatible with the compiler on the ARM hardware. Instead, build the library from the source code. Build the library on either your host machine or directly on the target hardware. See instructions for building the library on GitHub. The folder that contains the library files such as
For more information on build, see this post in 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 |
Operating System Support | Windows, Linux®, and macOS. | Windows and Linux only. |
C++ Compiler | MATLAB Coder locates and uses a supported installed compiler. For the list of supported compilers, see Supported and Compatible Compilers on the MathWorks® website. You can use The C++ compiler must support C++11. On Windows, code generation for deep learning networks by using the
| |
Other | Open Source Computer Vision Library (OpenCV), v3.1.0 is required for the ARM based deep learning examples. Note: The examples
require separate libraries such as For more information, refer to the OpenCV documentation. |
MATLAB Coder uses environment variables to locate the libraries required to generate code for deep learning networks.
Platform | Variable Name | Description |
---|---|---|
Windows | INTEL_MKLDNN | Path to the root folder of the Intel MKL-DNN library installation. For example:
|
ARM_COMPUTELIB | Path to the root folder of the ARM Compute Library installation on the ARM target hardware. For example:
Set
| |
PATH | Path to the Intel MKL-DNN library folder. For example:
| |
Linux | LD_LIBRARY_PATH | Path to the Intel MKL-DNN library folder. For example:
|
Path to the ARM Compute Library folder on the target hardware. For example:
Set
| ||
INTEL_MKLDNN | Path to the root folder of the Intel MKL-DNN library installation. For example:
| |
ARM_COMPUTELIB | Path to the root folder of the ARM Compute Library installation on the ARM target hardware. For example:
Set
| |
macOS | INTEL_MKLDNN | Path to the root folder of the Intel MKL-DNN library installation. For example:
|
UNIX® based OS on ARM targets | OPENCV_DIR | Path to the build folder of OpenCV. Install OpenCV for deep learning examples that use OpenCV. For example:
|
Note
To generate code for Raspberry Pi™ using the MATLAB Support Package for Raspberry Pi Hardware, you must set the environment variables non-interactively. For instructions, see 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
Note
To build and run examples that use OpenCV, you must install the OpenCV libraries on
the target board. For OpenCV installations on Linux, make sure that the path to the library files and the path to the header
files are on the system path. By default, the library and header files are installed in a
standard location such as /usr/local/lib/
and
/usr/local/include/opencv
, respectively.
For OpenCV installations on the target board, set the OPENCV_DIR
and PATH
environment variables as described in the previous
table.