matconvnet +Matlab2019b+vs2017+cuda10.0编译安装问题详解

参考:

1. https://blog.csdn.net/qq_42997572/article/details/98738449

2. https://blog.csdn.net/u014292102/article/details/80331481

环境:

Win10,cuda9.0+10.0,matlab2019b

主要安装步骤为参考1,这里只介绍部分问题,请看完它再来看我,然后再试着自己编译!

1. cl.exe找不到的问题。网上大部分都介绍说把cl.exe添加到环境变量中去。但是如果你不是重度命令行依赖的话,这是一种非常浪费PATH资源的方法,这里其实有一个简单的方法,打开你的开始菜单,在vs2017中找到Developer Command Prompt for VS 2017,双击打开,稍等,输入“matlab -c license文件绝对路径”即可,如果matlab不再path中可以matlab也可以用绝对路径。这样你的matlab就可以用Developer Command Prompt for VS 2017自动设置好的临时path解决问题了。

2. 其实,你在编译GPU版本之前,编译的都是2017版本的,不信你可以试试提前把编译GPU的修改都用上,你会发现无法通过编译的。

3. 所有修改的文件都是matconvnet/matlab下的vl_compilenn.m文件。

4. cl_path = fullfile(cc.Location, 'VC', 'bin','amd64');的正确修改为cl_path = fullfile(cc.Location, 'VC', 'Tools','MSVC', '14.14.26428', 'bin', 'Hostx64', 'x64');。当然了,如果你在Developer Command Prompt for VS 2017中where cl.exe你会发现其实用的cl.exe是Hostx68/x86下的,这个你可以自己尝试,我没有试过不做评价。有试过的可以留言。

5. mxGPUArray.h文件位置变了,搜索一下,添加“sprintf('-I"%s"',fullfile(toolboxdir('parallel'),'gpu','extern','include')), ...”到一个正确的位置即可。

6. 关于MATCONVNET: compiled with '-R2018a' and linked with '-R2017b'错误,你要按照参考2来做,因为参考一中,图片黄色部分的{2:end}和删掉flags.mexlink的第一个元素方法冲突了,要么删掉不加{2:end},要么不删除用{2:end}直接从第二个开始读取。这是一个简单的数组下标的问题。否则你会发现一堆(好像是6个)error lnk错误。

7. CPU我编译成功但是测试失败了,GPU未测试。

发布了15 篇原创文章 · 获赞 1 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/plgkm6/article/details/103170377