matlab中matconvnet,MATLAB2017a编译MatConvNet过程中出现的各种问题

本文分享了在Windows7系统下使用MatConvNet遇到的问题及解决办法,包括配置MinGW-w64、Microsoft Visual Studio 2017及GPU环境下编译所需组件等。

编译matconvnet过程中遇到了很多问题,写下来希望可以帮到有和我一样问题的有缘人。

系统环境:Windows7系统

cudnn5.1

官网上也有安装和编译的过程:http://www.vlfeat.org/matconvnet/install/

电脑上一开始安装的matlab2015b,visual studio2015,后来又重新装了matlab2017a和vs2017,可能这个过程中出现了一些问题。

首先需要CPU环境下编译,正确的配置步骤很简单:

1.命令行输入以下命令,确保MATLAB已 配置为使用您的编译器mex -setup mex -setup C++

2.将MatConvNet的path加到matlab路径中去cd matconvnet-master addpath matlab

3.编译MatConvNetvl_compilenn

但是中间遇到了一些问题

问题1

网上有很多解决办法,一开始我以为是版本的问题,所以就将VS2015换成了VS2017,matlab2015换成了matlab2017a,结果还是不行。又安装MinGW-w64 C/C++ 编译器,安装在C盘一级目录下,也是不行。

解决办法:后来在网上看到一方法,安装MinGW-w64时选上gcc->vision下的的选项全选上,然后安装。结果成功。

注意:这个只是单纯的解决了编译器的问题,如果配置matconvnet,不能用以上办法。matconvnet在当前版本中不支持MinGW编译器,MatConvNet不支持MinGW的原因之一是在Windows上它使用GDI +库来加速读取图像文件,所以需要安装Microsoft Visual Studio。难怪matconvnet官网上配置过程中没有提到用MinGW编译器

所以我又将MinGW卸载了,还是在matlab上配置Microsoft Visual C++ 2017以进行 C++ 语言编译。

解决办法:因为matlab 2017中默认配置不包含vs2017的编译环境,需要人为去配置

需要下载文件msvc2017.xml和msvcpp2017.xml(链接:https://pan.baidu.com/s/1ba0OMGOe9QXoPA0ji4ggJw 密码:7lrn).注意:这个文件只适合vs2017,如果配置vs其他版本,需要找到对应版本的这两个文件下载。

并将他们复制到matlab相应的目录下就行了,比如我的:D:\matlab\R2017a\bin\win64\mexopts

成功!

问题2:

解决办法:网上找了一些解决办法,比如添加环境变量什么的,我借鉴了以为外国网友的办法

在VS2017安装目录下,比如我的:D:\Visual Studio2017\Community\VC\Tools\MSVC\14.14.26428\bin,找到里面对应自己系统的cl.exe,将此复制到matconvnet目录下即可。

终于编译成功了!

接下来我将继续在GPU环境下编译,出现任何问题还会继续更新。。

GPUB编译

需要:CUDA、CUDNN

CUDA8.0或以下不支持vs2017编译,所以我又下载了vs2015编译器

安装就按照步骤一步一步安装,如果驱动新的话,组件里可以只选CUDA(推荐)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值