我已经在Windows中用caffe编译了matcaffe。
我当前的matcaffe文件夹结构如下:
.
C:\PYTHON\caffe
|-- matlab
|
|-- +caffe
|
|--private
|
|-- caffe_.mexw64
|...
|-- all hard linked dlls我使用dependency检查了caffe_.mexw64,发现缺少以下文件:
LIBMEX.DLL
LIBMX.DLL
API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
DCOMP.DLL
IESHIMS.DLL从依赖者身上可以很明显的看出。发现了所有的caffe-related dll。
在matlab中,我添加了以下路径:
addpath('C:\PYTHON\caffe\matlab');但在运行此命令时:
caffe.run_tests()我得到以下错误:
Invalid MEX-file 'C:\PYTHON\caffe\matlab\+caffe\private\caffe_.mexw64': The
specified procedure could not be found.
Error in caffe.set_mode_cpu (line 5)
caffe_('set_mode_cpu');
Error in caffe.run_tests (line 6)
caffe.set_mode_cpu(); 有趣的事情如下。如果我转到caffe\matlab\+caffe\private文件夹并运行相同的caffe.run_tests(),那么它将成功运行。
此后,我只能运行matcaffe命令,而不会出现来自任何其他文件夹的MEX错误(因为dll随后已经加载到内存中)。
我的问题是:
更新:
现在我看到同样的问题已经在这里上发布了,但是没有适当的解决方案。
发布于 2018-04-01 23:21:02
您需要将带有DLL的目录添加到PATH环境变量中。您可以在上这样做(这不能在Linux和Unix上修改等效的LD_LIBRARY_PATH ):
setenv('PATH',['C:\PYTHON\caffe\matlab\+caffe\private\;',getenv('PATH')]);https://stackoverflow.com/questions/49584900
复制相似问题