matlab添加路径报错,Win10 + Caffe + CPU + MATLAB (包括各种问题详细解决)(二)

转载自:https://blog.csdn.net/u014546828/article/details/80447583

这里介绍一下 Win10 下,如何搭建 Caffe,仅有 CPU。因为我需要用 MATLAB 调试,所以需要对 Caffe 做关于 MATLAB 的配置。很多博客都写了有关这方面的配置过程,写的也很好,但对于我这种初学者可能还不够细。我就想写一个特别细致的配置过程。但太细又会显得很长很复杂,所以将这个配置过程分为两部分:

(一)是在 VS2013 端的设置,及相关问题解决;

(二)是在 MATLAB 端的设置,及其相关问题解决;

Win10 + Caffe + CPU + MATLAB (包括各种问题详细解决)

(二)—— MATLAB 端设置

1. VS2013 端相关配置

上一文我们已经在 VS2013 端做了相关配置。这里再简单回顾和强调一下关于 MATLAB 调用 Caffe 时,在 VS2013 端的设置。主要包括:

1)打开 \caffe-master\windows\ 下的 CommonSettings.props 文件,更改 MatlabSupport,改成 true(即支持 Matlab 接口),如下图;

2)更改matlab的路径,在includepath中增加一个路径,若没有的话,在编译时候会出现如下错误:gpu/mxGPUArray.h" Not Found,如下图:

这两点如果有不理解的地方,可以参考我的博文(一)。

3)注意务必用 Release 方式生成解决方案 !

2. MATLAB 端相关配置

2.1 打开 MATLAB,添加 Caffe 路径

主要是添加 \caffe-master\Build\x64\Release\matcaffe\ 这个文件的路径。如下图:

2.2 添加到系统环境变量

即把 \caffe-master\Build\x64\Release\matcaffe\添加到系统环境变量中。具体操作如下:

注意!!!保存后,重启matlab,不然测试时会报找不到caffe_mexw64模块的错误。

2.3 .dll 文件复制

很多博文都推荐将 caffe-master\Build\x64\Debug 中所有的 .dll 文件全复制到 caffe-master\matlab\+caffe\private\ 中去,原因是为了防止出现 Undefined variable "caffe" or class "caffe.reset_all" 报错。

我也出现这个错误了,所以建议这么操作一下。

2.4 配置 model 文件

这里 model 文件是指 bvlc_reference_caffenet.caffemodel 文件。这里提供文件的下载链接:

2.5 配置标签文件

这里标签文件是指 synset_words.txt,放在与classification_demo.m同一个文件夹下,即 \caffe-master\matlab\demo\ 下。

这里提供文件的下载链接:

配置完毕。

3. 问题解决

按照上面的方法配置,一般就把问题解决了。当然,本节将列出一些可能出现的问题,有些问题其实前面的步骤以及可以解决这些问题了。可能在你运行代码时,还会出现一些错误。

3.1 Undefined variable "caffe" or class "caffe.reset_all" 问题解决

这个问题主要原因在于 Caffe 的路径没能有效被 MATLAB 链接。只要按照 2.1 、 2.2 还有 2.3 完成路径配置和文件复制,就好了。

3.2 Invalid MEX-file' ..\caffe-master\Build\x64\Release\matcaffe\+caffe\private\caffe_.mexw64': 找不到指定的模块 问题解决

这个问题主要原因在于 Caffe 的路径没能有效被 MATLAB 链接。只要按照2.1和2.2完成路径配置,就好了。

3.3 错误使用 caffe_ Could not open file Model/xxx.prototxt (或者是 RuntimeError: Could not open file xxx.prototxt) 问题解决

这是因为你的 xxx.prototxt 文件的路径没写清楚,如下图所示:

这样的书写,MATLAB 还找不到根目录,最直接的方法就是补全完整路径,如下图:

注意!!!路径符号要用   /   ,而不要用   \   !

正确:

model='F:/1_MyWork/Papers/STS-CNN-master/Model/STS-CNN_SLCOff_iterations_900000.caffemodel';

错误:

model='F:\1_MyWork\Papers\STS-CNN-master\Model\STS-CNN_SLCOff_iterations_900000.caffemodel';

3.4 MATLAB 直接错误退出问题

原因在于没有 GPU 的情况下,用了 GPU 调用语句:

caffe.set_mode_gpu(); %GPU加速模式

在没有 GPU 时,只能用 CPU:caffe.set_mode_cpu();%CPU加速模式

最后感谢如下博文和回答:

你可能感兴趣的:(matlab添加路径报错)