近来在做一个烟盒外包装缺陷检测的横向项目,运用到了迁移学习(感兴趣的同学可以访问MATLAB Course进行学习),效果十分理想。
后面想把这个项目的matlab代码通过matlab coder生成c++代码在visual studio上运行,相关的教程在(使用 MATLAB Coder App 生成 C 代码- MATLAB & Simulink- MathWorks 中国)上十分详细;也可以通过观看这个视频学习,博主将生成代码的过程进行了讲解,还讲解了如何配置并在visual studio运行。(30分钟入门Matlab Coder,部署C代码到Visual Studio_哔哩哔哩_bilibili)
但是因为烟盒外包装缺陷检测运用到了神经网络,需要额外配置mkldnn,不然无法生成代码,因此花了一些时间和精力安装和配置mkldnn的环境,下面记录一下:
Windows MKL-DNN 构建说明
1、下载安装CMake(Windows下CMake安装教程_aidjmcv的博客-CSDN博客_cmake安装教程)。
2、在(mirrors / intel / mkl-dnn · GitCode)下载最新的mkldnn压缩包,我下载的是mkl-dnn-master.zip,解压后更改文件夹名称并剪切至C:\Program Files文件夹中。
3、生成用于编译的 makefile
方法一:
直接运行CMake.exe,在"where is the source code"中输入“C:/Program Files/mkl-dnn”,在"where to build the binaries"中输入“C:/Program Files/mkl-dnn/build”,然后点击左下角的Configure按钮,最后点击Generate即可生成。
方法二:参考这篇博客,具体操作我也写出来了(MATLAB Coder: How do I build the Intel MKL-DNN library for Deep Learning C++ code generation and deployment? -)
打开anaconda prompt或者命令提示符,转到C:/Program Files/mkl-dnn文件夹,运行如下命令:
mkdir build
cd build
cmake ..
然后转到C:/Program Files/mkl-dnn/build,运行如下命令:
cmake --build . --config Release
然后将C:/Program Files/mkl-dnn/build/src/Release中的dnnl.lib、dnnl.dll这两个文件复制到C:/Program Files/mkl-dnn/lib中。
4.编辑环境变量
在环境变量path中添加C:\Program Files\mkl-dnn和C:\Program Files\mkl-dnn\lib
补充:在使用matlab coder生成深度学习神经网络的c++代码时需要用到mkldnn,所以一定记得要在生成之前,在matlab命令行窗口运行这两句代码:
setenv('INTEL_MKLDNN', 'C:\Program Files\mkl-dnn\')
setenv('PATH', [getenv('INTEL_MKLDNN') filesep 'lib' pathsep getenv('PATH')])