代码问题【ADNet//CVPR2017】

【ADNet】:

Yoo S, Yun K, Choi J Y. Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning[C]. //CVPR2017

 

错误1:Undefined function or variable 'test_demo'.

解决: 这个很简单,直接把test_demo改成adnet_test即可

 

错误2:Invalid MEX-file xxxxxxxxxxxxx\utils\cropRectanglesMex.mexw64': 找不到指定的模块。

解决:这个是因为在utils\cropRectanglesMex目录下的cropRectanglesMex.mexw64需要重新编译,编译前阅读该目录下的README会发现,这段代码是源自这里https://github.com/aosokin/cropRectanglesMex

不过源代码是在linux系统下编译的,而ADNet的作者给出了windows下的编译和链接程序,所以,如果是windows系统,需要运行build_cropRectanglesMex_on_windows.m文件

 

运行该文件,可能会发现提示类似:nvcc fatal   : Cannot find compiler 'cl.exe' in PATH这样的错误

其中cl.exe是visual studio的编译器,所以,需要将cl.exe所在目录添加到环境变量里,我的cl.exe所在目录是:D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin

 

另外需要注意的是build_cropRectanglesMex_on_windows.m给出的cuda版本是7.5,需要根据自己的版本号做一些调整。比如我改了line10的代码为:cudaRoot = 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0';

 

如果build_cropRectanglesMex_on_windows.m运行成功,不要忘记将utils\cropRectanglesMex目录下的cropRectanglesMex.mexw64复制粘贴到utils\目录下,已替换掉本来存在的cropRectanglesMex.mexw64文件。

 

错误3:No appropriate method, property, or field 'setExecutionOrder' for class 'dagnn.DagNN'.

setExecutionOrder是作者自己为dagnn.DagNN写的方法。

我开始调用的是自己下载的MatConvNet库,总是出现这个错误,后来看了下作者自带的matlab库中\matlab\+dagnn\@DagNN 比官方库中多了setExecutionOrder这个文件。

将其复制到官方库的该目录下,问题结局。

posted on 2017-11-10 13:55  博闻强记2010  阅读(551)  评论(1编辑  收藏  举报

导航