MATLAB Coder: How do I build the Intel MKL-DNN library for Deep Learning C++ code generation and deployment?

조회 수: 168(최근 30일)
I see a few deep learning networks supported for code generation using MATLAB Coder:
I'm looking to generate code from my deep learning network (like AlexNet, GoogLeNet, ResNet, SqueezeNet, VGG-16/19, etc) to run on Intel CPUs using MATLAB Coder and the Intel MKL-DNN library. What are the steps to do this?

채택된 답변

Bill Chou
Bill Chou 2019년 2월 27일
편집: Bill Chou 2021년 7월 27일
Note: The following applies to R2018b, R2019a, and R2019b releases of MATLAB Coder and MKL-DNN v0.14 as described here. For newer releases, see the next answer below.
Background
To generate and run C++ code for Deep Learning, you must have the Intel Math Kernel Library for Deep Neural Networks (Intel MKL-DNN). Do not use a prebuilt library because some required files are missing. Instead, build the library from source code.
The following describes build instructions for MKL-DNN on Windows and Linux platforms.
Windows MKL-DNN build instructions
To follow these instructions, obtain a recommended compiler and IDE:
  • Microsoft Visual Studio 2017
  • Intel C++ Compiler 18.0 from Intel Parallel Studio
These instructions assume the use of the Microsoft Visual Studio IDE and compiler. cmake is also required.
1. Download the MKL-DNN source code for version 0.14 (available at https://github.com/oneapi-src/oneDNN/archive/refs/tags/v0.14.zip) that is required by the MATLAB Coder release shown in the documentation (https://www.mathworks.com/help/releases/R2019b/coder/ug/prerequisites-for-deep-learning-with-matlab-coder.html).
2. Unzip the source code to a folder, MKLDNN. From the MKLDNN folder, from the Command Prompt, enter:
cd scripts
.\prepare_mkl.bat
cd ..
This creates these libraries at MKLDNN\external\mklml_win_*\lib:
  • libiomp5md.dll
  • libiomp5md.lib
  • mklml.dll
  • mklml.lib
3. Run these commands from the MKLDNN folder:
mkdir -p build
cd build
cmake -G “Visual Studio 15 2017 Win64” ..
This creates this Visual Studio solution file in /build:
  • Intel(R) MKL-DNN.sln
4. Open the solution file in Visual Studio. Set the Solution Configurations dropdown to Release. Click on Build > Build Solution. This creates these libraries in MKLDNN\build\src\Release:
  • mkldnn.dll
  • mkldnn.lib
Copy these libraries and the libraries generated in step 2 to C:\Program Files\mkl-dnn\lib.
Note that on Windows® operating systems, special characters and spaces are allowed in the path only if 8.3 file names are enabled. If they are not enabled, replace 'C:\Program Files\mkl-dnn\lib’ with a path that does not include a space. For more information on 8.3 file names, refer to the Windows documentation.
Copy the following files from MKLDNN\include to C:\Program Files\mkl-dnn\include:
  • mkldnn.h
  • mkldnn.hpp
  • mkldnn_debug.h
  • mkldnn_types.h
5. Set the MATLAB environmental variable INTEL_MKLDNN to C:\Program Files\mkl-dnn. From the MATLAB Command Window, enter:
setenv('INTEL_MKLDNN', 'C:\Program Files\mkl-dnn\')
Add C:\Program Files\mkl-dnn\lib to the PATH variable.
setenv('PATH', [getenv('INTEL_MKLDNN') filesep 'lib' pathsep getenv('PATH')])
6. If you have not done so already, you should also set the environment variable for Windows. From the Windows Command Prompt, enter:
set PATH=%PATH%; C:\Program Files\mkl-dnn\
Linux MKL-DNN build instructions
To follow these instructions, obtain a recommended compiler:
  • GNU g++ with C++11 support
cmake is also required.
1. Download the MKL-DNN source code for version 0.14 (available at https://github.com/oneapi-src/oneDNN/archive/refs/tags/v0.14.tar.gz) that is required by the MATLAB Coder release shown in the documentation (https://www.mathworks.com/help/releases/R2019b/coder/ug/prerequisites-for-deep-learning-with-matlab-coder.html).
2. Unzip the source code to a folder, MKLDNN. From the MKLDNN folder, from the Command Prompt, enter:
cd scripts
chmod +x prepare_mkl.sh
./prepare_mkl.sh
This creates these libraries at MKLDNN/external/mklml_lnx_*/lib:
libiomp5.so
libmklml_intel.so.
3. Run these commands from the MKLDNN folder:
mkdir -p build
cd build
cmake ..
make
4. This creates these libraries under MKLDNN/build/src:
  1. libmkldnn.so
  2. libmkldnn.so.0
  3. libmkldnn.so.0.14.0.
Copy these libraries and thelibraries generated in step 2 to /usr/local/mkl-dnn/lib.
Copy the following files from MKLDNN/include to /usr/local/mkl-dnn/include:
  • mkldnn.h
  • mkldnn.hpp
  • mkldnn_debug.h
  • mkldnn_types.h
5. Set the MATLAB environmental variable INTEL_MKLDNN to /usr/local/mkl-dnn. From the MATLAB Command Window, enter:
setenv('INTEL_MKLDNN', /usr/local/mkl-dnn')
Add /usr/local/mkl-dnn/lib to the PATH variable:
setenv('LD_LIBRARY_PATH', [getenv('INTEL_MKLDNN') filesep 'lib' pathsep getenv('LD_LIBRARY_PATH')]);
If you have not done so already, you should also set the environment variables for Linux. Use Linux syntax in the Linux terminal to set the variable LD_LIBRARY_PATH to /usr/local/mkl-dnn/lib, and the environment variable INTEL_MKLDNN to /usr/local/mkl-dnn.

추가 답변(12개)

Bill Chou
Bill Chou 2021년 5월 13일
편집: Bill Chou 2022년 7월 29일
Note: The following applies to R2021a and newer releases of MATLAB Coder and MKL-DNN v1.4 as described here. For newer releases, see the next answer below.
Note: Intel recently renamed the library from MKL-DNN to oneDNN, so we use MKL-DNN and oneDNN interchangeably.
Background
To generate and run C++ code for Deep Learning, you must have the Intel Math Kernel Library for Deep Neural Networks (Intel MKL-DNN). Do not use a prebuilt library because some required files are missing. Instead, build the library from source code.
The following describes build instructions for MKL-DNN on Windows and Linux platforms.
To build the Intel MKL-DNN library from source code, you must have:
  • Operating system with Intel 64 architecture support
  • C++ compiler with C++11 standard support
  • CMake 2.8.11 or later version
Windows MKL-DNN build instructions
These MKL-DNN build steps have been validated by using Visual Studio 2017 version 15.0 on 64-bit Windows platform. If you want to use a newer version of Visual Studio to build a working MKL-DNN library, use it at your own discretion.
1. Download the MKL-DNN v1.4 source code from this link (https://github.com/oneapi-src/oneDNN/archive/v1.4.zip) and extract the source code. This action creates the folder oneDNN-1.4.
2. At the Windows command line, change the current directory to oneDNN-1.4. Generate a Microsoft Visual Studio solution “Intel(R) MKL-DNN.sln” by running these commands:
mkdir build
cd build
cmake -G "Visual Studio 15 2017 Win64" ..
3. Change the current directory to oneDNN-1.4\build. Run this command:
cmake --build . --config Release
This action creates these libraries in the folder oneDNN-1.4\build\src\Release:
  • dnnl.lib
  • dnnl.dll
Inside the folder C:\Program Files, create a folder named mkl-dnn. Then, inside the folder C:\Program Files\mkl-dnn, create a folder named lib. Copy the generated libraries to the folder C:\Program Files\mkl-dnn\lib.
On Windows operating systems, special characters and spaces are allowed in the path only if 8.3 file names are enabled. If they are not enabled, replace C:\Program Files\mkl-dnn\lib by a path that does not include spaces. For more information on 8.3 file names, refer to the Windows documentation.
Copy the include files from oneDNN-1.4\include and oneDNN-1.4\build\include to C:\Program Files\mkl-dnn\include.
4. Set the MATLAB environment variable INTEL_MKLDNN to C:\Program Files\mkl-dnn. At the MATLAB command prompt, enter:
setenv('INTEL_MKLDNN', 'C:\Program Files\mkl-dnn')
Add C:\Program Files\mkl-dnn\lib to the PATH variable by running:
setenv('PATH', [getenv('INTEL_MKLDNN') filesep 'lib' pathsep getenv('PATH')])
5. If you have not done so already, you must set the environment variable for Windows. At the Windows command line, enter:
set PATH=%PATH%; C:\Program Files\mkl-dnn\lib
Also, create and set the INTEL_MKLDNN environment variable in Windows that points to C:\Program Files\mkl-dnn.
Linux MKL-DNN build instructions
C++ Compiler requirements:
  • Install any one of the GNU compiler versions from GNU Compiler Collection. The versions include 4.8, 5.4, 6.1, 7.2, and 8.1.
1. Download the MKL-DNN v1.4 source code from this link (https://github.com/oneapi-src/oneDNN/archive/v1.4.tar.gz) and extract the source code by running this command at the Linux terminal:
tar -xvzf oneDNN-1.4.tar.gz
This action creates the folder oneDNN-1.4.
2. To generate the makefile for compilation, run these commands at the terminal from the oneDNN-1.4 folder:
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
3. To build the library, run this command at the terminal from the oneDNN-1.4/build folder:
make -j
These commands creates these libraries in the folder oneDNN-1.4/build/src:
  • libdnnl.so
  • libdnnl.so.1
  • libdnnl.so.1.4
Copy these libraries to /usr/local/mkl-dnn/lib.
Copy the include files from oneDNN-1.4/include and oneDNN-1.4/build/include to /usr/local/mkl-dnn/include.
4. Set the MATLAB environment variable INTEL_MKLDNN to /usr/local/mkl-dnn. At the MATLAB command line, enter:
setenv('INTEL_MKLDNN', /usr/local/mkl-dnn')
5. Add /usr/local/mkl-dnn/lib to the PATH variable:
setenv('LD_LIBRARY_PATH', [getenv('INTEL_MKLDNN') filesep 'lib' pathsep getenv('LD_LIBRARY_PATH')]);
If you have not done so already, you must set the environment variables for Linux. Use Linux syntax at the Linux terminal to set the variable LD_LIBRARY_PATH to /usr/local/mkl-dnn/lib, and the environment variable INTEL_MKLDNN to /usr/local/mkl-dnn.
macOS MKL-DNN build instructions
C++ Compiler requirements:
1. Download the MKL-DNN v1.4 source code from this link (https://github.com/oneapi-src/oneDNN/archive/v1.4.tar.gz) and extract this source code by running this command at the terminal:
tar -xvzf oneDNN-1.4.tar
This action creates the folder oneDNN-1.4.
2. The macOS clang compiler does not ship with OpenMP. To get an OpenMP enabled mkldnn library, you must install brew and libomp:
a. Install home brew on host mac PC by running this command at the bash terminal
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
b. Install OpenMP by using brew with command:
$(BREW_INSTALL_PATH)/brew install libomp
3. To generate the makefile for compilation, run these commands at the terminal from the oneDNN-1.4 folder:
mkdir -p build
cd build
$(CMAKE_INSTALL_PATH)cmake .. -DOpenMP_CXX_FLAGS="-Xclang -fopenmp -I$(OMP_INSTALL_PATH)/include" -DOpenMP_C_FLAGS="-Xclang -fopenmp -I$(OMP_INSTALL_PATH)/include" -DOpenMP_CXX_LIB_NAMES=libomp -DOpenMP_C_LIB_NAMES=libomp -DOpenMP_libomp_LIBRARY=$(OMP_INSTALL_PATH)/lib/libomp.dylib -DCMAKE_SHARED_LINKER_FLAGS="-L$(OMP_INSTALL_PATH)/lib -lomp"
4. To build the library, run this command at the terminal from the oneDNN-1.4/build folder:
make -j
These commands create these libraries in the folder oneDNN-1.4/build/src:
  • libdnnl.dylib
  • libdnnl.1.dylib
  • libdnnl.1.4.dylib
Copy these libraries to /usr/local/mkl-dnn/lib.
Copy the include files from oneDNN-1.4/include to /usr/local/mkl-dnn/include.
5. Copy the OpenMP dependencies required by MKL-DNN:
  • OpenMP libraries from $(OMP_INSTALL_PATH)/lib to /usr/local/mkl-dnn/lib
  • OpenMP include files from $(OMP_INSTALL_PATH)/include to /usr/local/mkl-dnn/include
6. The OpenMP library path is hard bound to mkldnn library. To list this hard binding, run the below command:
otool -l libdnnl.dylib
7. This hard binding of the paths must be changed for portability to other mac machines. To do this, run:
install_name_tool -change /usr/local/opt/libomp/lib/libomp.dylib @rpath/libomp.dylib libdnnl.1.dylib
install_name_tool -id "@rpath/libomp.dylib" libomp.dylib
Changing to rpath enables portability of the mkldnn/OpenMP libraries to other mac machines. This avoids any runtime linking issues.
8. Set the MATLAB environment variable INTEL_MKLDNN to /usr/local/mkl-dnn. At the MATLAB command line, enter:
setenv('INTEL_MKLDNN', /usr/local/mkl-dnn')
  댓글 수: 7
Junyu Quan
Junyu Quan 2021년 8월 13일
Hi Bill.
I followed your tutorial to complete all the operations,but there still have some errors.
and the p-code seems to be empty.....
Do you know why this happen?
By the way. At step4 and 5 the code seems not work,so I add the environment variable in system setting

댓글을 달려면 로그인하십시오.


Bill Chou
Bill Chou 2020년 6월 11일
편집: Bill Chou 2021년 5월 13일
Note: The following applies to R2020a and R2020b releases of MATLAB Coder and MKL-DNN v1.0 as described here. For newer releases, see the next answer below.
Note: Intel recently renamed the library from MKL-DNN to oneDNN, so we use MKL-DNN and oneDNN interchangeably.
Background
To generate and run C++ code for Deep Learning, you must have the Intel Math Kernel Library for Deep Neural Networks (Intel MKL-DNN). Do not use a prebuilt library because some required files are missing. Instead, build the library from source code.
The following describes build instructions for MKL-DNN on Windows and Linux platforms.
To build the Intel MKL-DNN library from source code, you must have:
  • Operating system with Intel 64 architecture support
  • C++ compiler with C++11 standard support
  • CMake 2.8.11 or later version
Windows MKL-DNN build instructions
C++ Compiler requirements :
  • Microsoft Visual C++ 14.0 (Visual Studio 2015 Update 3)
  • If you face compilation errors while building MKL-DNN, please use MSVC Compiler version 19.16.xx or newer
1. Download the mkldnn v1.0 source code from the link (https://github.com/oneapi-src/oneDNN/archive/v1.0.zip) and extract the source code. This action creates the folder oneDNN-1.0.
2. Generate a Microsoft Visual Studio solution “Intel(R) MKL-DNN.sln” by running these commands in command line at oneDNN-1.0 folder:
mkdir build
cd build
cmake -G "Visual Studio 15 2017 Win64" ..
3. Run below command in command line at oneDNN-1.0\build folder:
cmake --build . --config Release
This action creates these libraries in the folder oneDNN-1.0\build\src\Release:
  • mkldnn.lib
  • mkldnn.dll
Copy these generated libraries to C:\Program Files\mkl-dnn\lib.
Note that on Windows operating systems, special characters and spaces are allowed in the path only if 8.3 file names are enabled. If they are not enabled, replace C:\Program Files\mkl-dnn\lib with a path that does not include a space. For more information on 8.3 file names, refer to the Windows documentation.
Copy the include files from oneDNN-1.0\include and oneDNN-1.0\build\include to C:\Program Files\mkl-dnn\include.
4. Set the MATLAB environment variable INTEL_MKLDNN to C:\Program Files\mkl-dnn. At the MATLAB command prompt, enter:
setenv('INTEL_MKLDNN', 'C:\Program Files\mkl-dnn')
Add C:\Program Files\mkl-dnn\lib to the PATH variable.
setenv('PATH', [getenv('INTEL_MKLDNN') filesep 'lib' pathsep getenv('PATH')])
5. If you have not done so already, you must set the environment variable for Windows. At the Windows Command Prompt, enter:
set PATH=%PATH%; C:\Program Files\mkl-dnn\lib
Also create and set the INTEL_MKLDNN environment variable in windows that point to C:\Program Files\mkl-dnn
Linux MKL-DNN build instructions
C++ Compiler requirements :
  • Install any one of the GNU compiler versions from GNU Compiler Collection 4.8, 5.4, 6.1, 7.2, and 8.1
1. Download the mkldnn v1.0 source code from the link (https://github.com/oneapi-src/oneDNN/archive/v1.0.tar.gz) and extract source code by running this command at the terminal:
tar -xvzf oneDNN-1.0.tar.gz
This action creates the folder oneDNN-1.0.
2. To generate the makefile for compilation, run these commands at the terminal from the oneDNN-1.0 folder:
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
3. To build the library, run this command at the terminal from the oneDNN-1.0/build folder:
make -j
These commands creates these libraries in the folder oneDNN-1.0/build/src:
  • libmkldnn.so
  • libmkldnn.so.0
  • libmkldnn.so.1.0.0.0
Copy these libraries to /usr/local/mkl-dnn/lib.
Copy the include files from oneDNN-1.0/include and oneDNN-1.0/build/include to /usr/local/mkl-dnn/include.
4. Set the MATLAB environment variable INTEL_MKLDNN to /usr/local/mkl-dnn. At the MATLAB command prompt, enter:
setenv('INTEL_MKLDNN', /usr/local/mkl-dnn')
5. Add /usr/local/mkl-dnn/lib to the PATH variable:
setenv('LD_LIBRARY_PATH', [getenv('INTEL_MKLDNN') filesep 'lib' pathsep getenv('LD_LIBRARY_PATH')]);
If you have not done so already, you must set the environment variables for Linux. Use Linux syntax in the Linux terminal to set the variable LD_LIBRARY_PATH to /usr/local/mkl-dnn/lib, and the environment variable INTEL_MKLDNN to /usr/local/mkl-dnn.
macOS MKL-DNN build instructions (for R2020b and newer)
C++ Compiler requirements:
  • Install supported Xcode versions mentioned in https://www.mathworks.com/support/requirements/supported-compilers.html
1. Download the mkldnn v1.0 source code from the link and extract source code by running this command at the terminal:
tar -xvzf mkl-dnn-1.0.tar.gz
This action creates the folder mkl-dnn-1.0.
2. macOS clang compiler does not ship with OpenMp. To have an OpenMp enabled mkldnn library, we need to install brew,libomp
a. Install home brew in host mac PC with below command using bash terminal
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
b. Install OpenMp using brew with command
$(BREW_INSTALL_PATH)/brew install libomp
3. To generate the makefile for compilation, run these commands in the terminal from the mkl-dnn-1.0 folder:
mkdir -p build
cd build
$(CMAKE_INSTALL_PATH)cmake .. -DOpenMP_CXX_FLAGS="-Xclang -fopenmp -I$(OMP_INSTALL_PATH)/include" -DOpenMP_C_FLAGS="-Xclang -fopenmp -I$(OMP_INSTALL_PATH)/include" -DOpenMP_CXX_LIB_NAMES=libomp -DOpenMP_C_LIB_NAMES=libomp -DOpenMP_libomp_LIBRARY=$(OMP_INSTALL_PATH)/lib/libomp.dylib -DCMAKE_SHARED_LINKER_FLAGS="-L$(OMP_INSTALL_PATH)/lib -lomp"
These commands creates these libraries in the folder mkl-dnn-1.0/build/src:
  • libmkldnn.dylib
  • libmkldnn.0.dylib
  • libmkldnn.1.0.0.0.dylib
Copy these libraries to /usr/local/mkl-dnn/lib.
Copy the include files from mkld-dnn-1.0/include to /usr/local/mkl-dnn/include.
4. Copy the OpenMp dependencies required by mkldnn
  • OpenMP libraries from $(OMP_INSTALL_PATH)/lib to /usr/local/mkl-dnn/lib
  • OpenMP include files from $(OMP_INSTALL_PATH)/include to /usr/local/mkl-dnn/include
5. The OpenMp library path is hardbinded to mkldnn library. Below command would list out this aspect
otool -l libmkldnn.dylib
6. This hard binding of the paths must be changed for portability to other mac machines. Use the below command
install_name_tool -change /usr/local/opt/libomp/lib/libomp.dylib @rpath/libomp.dylib libmkldnn.0.dylib
install_name_tool -id "@rpath/libomp.dylib" libomp.dylib
Changing to rpath would enable portability of mkldnn/OpenMP libraries to different mac machines. This avoids any runtime linking issues.
7. Set the MATLAB environment variable INTEL_MKLDNN to /usr/local/mkl-dnn. At the MATLAB command prompt, enter:
setenv('INTEL_MKLDNN', /usr/local/mkl-dnn')
  댓글 수: 9
Praveen Kumar Gajula
Praveen Kumar Gajula 2021년 8월 16일
Hi Junyu,
You need to create folders "mkl-dnn", "lib" and copy the libraries to C:\Program Files\mkl-dnn\lib.
Thanks,
Praveen

댓글을 달려면 로그인하십시오.


Xiaoqi
Xiaoqi 2020년 1월 9일
Hi, Bill
I believe your steps need to be updated, because the mkl-dnn library in the github is changed. I can not make it work by following your steps.
Thanks
Charlie
  댓글 수: 2

댓글을 달려면 로그인하십시오.


Sviatoslav Klos
Sviatoslav Klos 2020년 2월 4일
I have such an error: Undefined function or variable 'IsAvx512Proc'.
I thought that if my Intel proc does not support Avx512 then it would just use Avx2. Does it make sense? Had someone try MKL-DNN with Intel i5-8265u?

Praveen Kumar Gajula
Praveen Kumar Gajula 2020년 2월 7일
Hi Sviatoslav,
We are sorry to hear that you are facing issues.
You are right that if Intel proc doesnot support Avx512 mkldnn should use Avx2.
And processor i5-8265u should be able to use mkldnn with out any issues.
There is a package installer issue from our end , where it didnot ship the 'IsAvx512Proc' method. Hence you are seeing this error . Could you let me know what is the MATLAB version you are using and did you do any recent upgrade to it.
Thank you,
Praveen.
  댓글 수: 4
Tohru Kikawada
Tohru Kikawada 2020년 5월 3일
I think you need to set up the C++ compiler before you build. Please try mex -setup c++. The following link explains for more details.

댓글을 달려면 로그인하십시오.


Praveen Kumar Gajula
Praveen Kumar Gajula 2020년 3월 14일
Hi ,
Error is not clear from this image. Could you share us Error report.
Could you also share the MATLAB release details and example link that you are trying out.
Thank you,
Praveen.
  댓글 수: 1
sara alamri
sara alamri 2020년 3월 15일
편집: sara alamri 2020년 3월 15일
here is the report of the error in the attachment
i use Matlab R2019b
i also tried to this instructions to install mkl dnn
and your instruction but didn't work
i also tried all example in matlab website that related to YOLO code genrator.. all same error
all i want from this is to convert my code"which contain a yolo detector" to C so i can combine it with an android app.

댓글을 달려면 로그인하십시오.


Praveen Kumar Gajula
Praveen Kumar Gajula 2020년 3월 16일
The compilation errors are becuase of mkldnn.hpp file not found.
" c:\users\witch\documents\matlab\examples\r2019b\deeplearning_shared\yolov2objectdetectionusingintelmkldnnexample\codegen\mex\yolov2_detection\MWCNNLayerImpl.hpp(10): fatal error C1083: Cannot open include file: 'mkldnn.hpp': No such file or directory
"
Could you check if you setup the INTEL_MKLDNN path correctly as mentioned in step -
setenv('INTEL_MKLDNN', 'C:\Program Files\mkl-dnn\')
Also could you make sure that there are no spaces in the folders
  1. Where you are trying codegen.
  2. Where MKLDNN libraries reside.
Thank you,
Praveen.
  댓글 수: 3
Praveen Kumar Gajula
Praveen Kumar Gajula 2020년 3월 16일
We tried the same example and found the same log as yours if we donot set the INTEL_MKLDNN path.
Currently you are seeing the log similar to log present in withOutMKLDNNPath.txt where the INTEL_MKLDNN is not set in the MATLAB. If you set it appropriately you should see log similar to withMKLDNNPATH
Thank you,
Praveen.

댓글을 달려면 로그인하십시오.


sara alamri
sara alamri 2020년 3월 17일
편집: sara alamri 2020년 3월 17일
now i had this error in the attachment using matlab R2019b
and this error using matlab R2019a
??? Error generating code for network yoloV2CatDetector_0. Code generation for
YOLOv2TransformLayer yolov2Transform is not supported for mkldnn target. See documentation
for a list of supported layers with each target.
i use mkldnn V0.14
i also installed minGW v17 which i belive it supports openMP
  댓글 수: 1
Praveen Kumar Gajula
Praveen Kumar Gajula 2020년 3월 18일
We donot support the yolov2 for R2019a release.
Regarding the errors in R2019b ,we are unable to reproduce .
It would be great if you could forward the steps that you have used for codegen. This will help us to corner out if there are any steps that are missed out.
Than kyou,
Praveen.

댓글을 달려면 로그인하십시오.


Mahmoud Abdulsalam
Mahmoud Abdulsalam 2020년 6월 9일
I have generated a source code for deep learning and found a lot of files in codegen folder. How do I go about integrating it and compile it in Linux.Do I need to make changes to the main.cpp? Because I saw some instructions within the main file asking me to change variable size function argument.

Elhassan Mohamed
Elhassan Mohamed 2021년 9월 8일
편집: Elhassan Mohamed 2021년 9월 8일
Bill, this post is very important as without this trick nothing is working. please move it to a more accessable place or website. A string forwad link for this post would be very helpful as i and many others have to spend days digging a round fot the random compilation error that kept appearing
thanx

Ismaeel
Ismaeel 2021년 9월 24일
This was not expected from a company like MathWork, unfortunatley. Issues like these had to be much more simpler to be solved.
  댓글 수: 1
Praveen Kumar Gajula
Praveen Kumar Gajula 2021년 9월 24일
Hi,
Could you elaborate the issues that you are facing. Is this related to mkldnn mex codegen?
We simplified the workflow for mex codegen and you no longer have to download and build mkldnn for mex. We ship them along with MATLAB from R2020a .Codegen for mex should work out of the box
Thanks,
Praveen

댓글을 달려면 로그인하십시오.


Naga Sai Pavan Swaroop Ainapurapu
I have an error
Code generation for FeatureInputLayer input is not supported for mkldnn target. See
documentation for a list of supported layers with each target.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by