ShuaiBai623 / MFT

Multi-solution Fusion for Visual Tracking(MFT)
MIT License
115 stars 29 forks source link

未定义函数或变量 'dagnn.GlobalPooling' #1

Closed xjtuwh closed 5 years ago

xjtuwh commented 5 years ago

你好,我在运行demo_MFT时,在load_cnn_drag.m第4行出现如下错误:

K>> net=dagnn.DagNN.loadobj(net) ; 未定义函数或变量 'dagnn.GlobalPooling'。

出错 dagnn.DagNN.loadobj (line 26) block = constr() ; default 请问这是为什么,我用的是您提供的matconvnet,用nvcc编译的。

xjtuwh commented 5 years ago

如果我将matconvnet编译文件的useGPU设置为false,编译能够成功,但是运行时依然存在上述问题。 如果我将matconvnet编译文件的useGPU设置为true,不指定编译方法为‘nvcc’,则会编译报错“mexcuda”提示没有相应的编译器,请问我该怎么操作呢? 我看dagnn文件夹中也没有GlobalPooling,请问这是怎么回事呢?

vistart commented 5 years ago

@xjtuwh 需要 @albanie 的额外定义的层,参见: https://github.com/albanie/mcnExtraLayers

@ShuaiBai623 建议完善安装文档,谢谢!

xjtuwh commented 5 years ago

哦哦,非常感谢,也就是说吧这些额外的层添加到matlab搜索路径中吗,还需要重新编译matconvnet吗?@vistart

ShuaiBai623 commented 5 years ago

是缺少一些额外层的定义,我是稍后补全,谢谢提醒👍

vistart commented 5 years ago

@xjtuwh 不用重新编译了,参照 mcnExtraLayers 的说明做就行。

@ShuaiBai623 建议文档中写明从零开始部署的过程,如果能脚本化就更完美了。

xjtuwh commented 5 years ago

再次感谢@vistart

xjtuwh commented 5 years ago

你好!我继续调试代码,运行demo_MFT.m,但是在init_features2.m第112行报错,提示 net_info_stride = cat(1,nets{k}.getVarReceptiveFields('data').size)';索引超出矩阵维度。请问大神有没有遇到这个问题,这是怎么回事呢?@vistart @ShuaiBai623 多谢! default

xjtuwh commented 5 years ago

我改了一下getVarReceptiveFields中的内容,现在不报错了,不知这样是否可行? default

ShuaiBai623 commented 5 years ago

image 我是记得自己是通过修改了globalpool的定义

ShuaiBai623 commented 5 years ago

我改了一下getVarReceptiveFields中的内容,现在不报错了,不知这样是否可行? default

昨晚我更新了仓库,自己又测试了,是可以正常跑通的,你可以尝试重新clone下,谢谢您的关注

vistart commented 5 years ago

Hi, @ShuaiBai623 It is better to write an installation script like ECO that allows users to compile dependent software based on their environment. In addition, a typo in README.md needs to be corrected.

2

ShuaiBai623 commented 5 years ago

Thank you for your suggestion, I will consider this.