Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PrPooling compile error appears when evaluate on vot2018 in matlab #171

Closed
maliangzhibi opened this issue Aug 19, 2020 · 11 comments
Closed

Comments

@maliangzhibi
Copy link

Hi:
When I evaluated on vot2018, the PrPooling compile error appeared. But the error did not arise on other datasets, e.g. OTB100, what's the matter leading to Error?
Envirionment: ubuntu18.04, matlab2018a;
Thanks!

@goutamgmb
Copy link
Contributor

Hi,

How are you evaluating on vot2018? Did you use the vot integration as described here https://github.com/visionml/pytracking/tree/master/pytracking#matlab-toolkit-vot-2014-2019? I think the problem is that matlab is trying to run the tracker using the system python, instead of using the python from the correct conda environment. Could you post the error messages that you get?

@laisimiao
Copy link

Do you have this problem: when you use dimp50 to run sequences in vot2018 and fails in some frames and then need initialize, but it can not skip five frames and go on, because once you run dimp50 you need re-compile PrPooling, but the question is PrPooling can't re-compile successfully when it stuck in last run?
Here is my log:

@@TRAX:hello "trax.name=" "trax.family=" "trax.image=path;" "trax.region=polygon;" "trax.description=" "trax.version=3" "vot=python" "trax.channels=color;" 
@@TRAX:initialize "file:///home/lz/Videos/VOT2018/birds1/00000001.jpg" "506.5200,241.4000,589.7200,224.7800,593.4800,243.6000,510.2800,260.2200" 
@@TRAX:state "506.5200,241.4000,589.7200,224.7800,593.4800,243.6000,510.2800,260.2200" 
@@TRAX:frame "file:///home/lz/Videos/VOT2018/birds1/00000002.jpg" 
Using /tmp/torch_extensions as PyTorch extensions root...
Detected CUDA files, patching ldflags
Emitting ninja build file /tmp/torch_extensions/_prroi_pooling/build.ninja...
Building extension module _prroi_pooling...
ninja: no work to do.
@@TRAX:state "532.2806,242.9738,61.6670,16.8843" 
@@TRAX:frame "file:///home/lz/Videos/VOT2018/birds1/00000003.jpg" 
@@TRAX:state "535.0534,243.6395,61.5025,19.6819" 
@@TRAX:frame "file:///home/lz/Videos/VOT2018/birds1/00000004.jpg" 
@@TRAX:state "534.1956,242.7101,59.1964,27.9633" 
@@TRAX:frame "file:///home/lz/Videos/VOT2018/birds1/00000005.jpg" 
@@TRAX:state "533.5775,246.7746,57.2774,31.7947" 
@@TRAX:frame "file:///home/lz/Videos/VOT2018/birds1/00000006.jpg" 
@@TRAX:state "535.7314,253.1145,57.7182,27.5214" 
@@TRAX:frame "file:///home/lz/Videos/VOT2018/birds1/00000007.jpg" 
ignore them...
@@TRAX:state "573.7529,363.9419,77.3205,44.9195" 
@@TRAX:frame "file:///home/lz/Videos/VOT2018/birds1/00000097.jpg" 
@@TRAX:state "622.4061,330.9876,70.4741,46.0510" 
@@TRAX:frame "file:///home/lz/Videos/VOT2018/birds1/00000098.jpg" 
@@TRAX:state "625.8318,328.9086,59.4638,56.3283" 
@@TRAX:frame "file:///home/lz/Videos/VOT2018/birds1/00000099.jpg" 
@@TRAX:state "629.3822,328.4370,67.5736,46.7347" 
@@TRAX:quit "trax.reason=" 

and error like this:

    Sequence birds1
      Repetition 1
      Tracker execution interrupted: Unable to establish connection.
Error using traxclient
Unable to establish connection.

Error in tracker_run (line 77)
    data = traxclient(tracker.command, callback, ...

Error in experiment_supervised (line 72)
    data = tracker_run(tracker, @callback, data);

Error in tracker_evaluate (line 57)
	[files, metadata] = experiment_function(tracker, sequence, directory, parameters, scan);

Error in workspace_evaluate>execute_iterator (line 128)
            tracker_evaluate(event.tracker, event.sequence, event.experiment);

Error in iterate (line 65)
            context = iterator(event, context);

Error in workspace_evaluate (line 93)
context = iterate(experiments, trackers, sequences, 'iterator', iterator, 'context', context);

Error in run_experiments (line 12)
workspace_evaluate(tracker, sequences, experiments);
 

Where is my probem??

@laisimiao
Copy link

@goutamgmb Could you write a more detailed guidence to run dimp using vot-toolkit(matlab).
I know you have write this: https://github.com/visionml/pytracking/tree/master/pytracking#matlab-toolkit-vot-2014-2019, but I can't run successfully. Pls

@laisimiao
Copy link

@goutamgmb
Here is my method to use vot-toolkit(matlab version) to eval dimp50 and can you point out mistakes if I have wrong step?(Because I am not sure how to integrate dimp into vot-toolkit, but I have run successfully of tracker_ncc in whole vot2018 dataset although it will break sometimes) :
I copy the content of tracker_DiMP.m to tracker_dimp50.m im my workspace in vot-toolkit, and it looks like this:

% Set path to the python in the pytracking conda environment
python_path = '/home/lz/anaconda3/bin/python';

% Set path to pytracking
pytracking_path = '/home/lz/PycharmProjects/pytracking/pytracking';

% Set path to trax installation. Check
% https://trax.readthedocs.io/en/latest/tutorial_compiling.html for
% compilation information
trax_path = '/home/lz/PycharmProjects/vot-toolkit/native/trax';

tracker_name = 'dimp';          % Name of the tracker to evaluate
runfile_name = 'dimp50_vot18';    % Name of the parameter file to use
debug = 1;


tracker_label = [tracker_name, '_', runfile_name];

% Generate python command
tracker_command = sprintf(['%s -c "import sys; sys.path.append(''%s'');', ...
                           'sys.path.append(''%s/support/python'');', ...
                           'import run_vot;', ...
                           'run_vot.run_vot(''%s'', ''%s'', debug=%d)"'],...
                           python_path, pytracking_path, trax_path, ...
                           tracker_name, runfile_name, debug);


tracker_interpreter = python_path;

tracker_linkpath = {[trax_path, '/build'],...
		[trax_path, '/build/support/client'],...
		[trax_path, '/build/support/opencv']};

and my run_experiments.m looks like this:

% This script can be used to execute the experiments for a single tracker
% You can copy and modify it to create another experiment launcher
clear;
addpath('/home/lz/PycharmProjects/vot-toolkit'); toolkit_path; % Make sure that VOT toolkit is in the path

[sequences, experiments] = workspace_load();

tracker = tracker_load('dimp50');

workspace_evaluate(tracker, sequences, experiments);

and I run run_experiments.m, it throw error:
AttributeError: module 'trax.server' has no attribute 'ServerOptions', because in tracker.py there is one sentence: import pytracking.evaluation.vot as vot and in evaluation/vot.py line92 is options = trax.server.ServerOptions(region_format, trax.image.PATH), so I am confused with the one vot.py in pytracking/evaluation and another vot.py in pytracking/VOT and in latter, it just uses self._trax = trax.Server([region_format], [trax.Image.PATH], channels).
And what's the usage of tracker.ini in pytracking/VOT?
Thanks for your reply!

@laisimiao
Copy link

I guess the vot.py under pytracking/VOT is from https://github.com/votchallenge/integration/blob/master/python/vot.py and after replace original vot.py in pytracking/evaluation it works.
But I encounter another problem: I use debug=1 to visualize in visdom browser, and when tracker(dimp50) fails, it can not reset successfully and throw errors like this in matlab:

@@TRAX:frame "file:///home/lz/Videos/VOT2018/basketball/00000682.jpg" 
@@TRAX:state "380.7141,289.4007,108.5271,143.5294" 
@@TRAX:frame "file:///home/lz/Videos/VOT2018/basketball/00000683.jpg" 
@@TRAX:state "396.4001,285.3829,90.6769,149.0710" 
CLIENT: Resetting program.
CLIENT: Trying to stop process using protocol.
@@TRAX:quit "trax.reason=" 
CLIENT: Flushing streams
CLIENT: Process should be terminated.
CLIENT: Stopping logger.
CLIENT: Tracker exited normally.
CLIENT: Deleted stale client
CLIENT: Creating process /home/lz/anaconda3/bin/python -c "import sys; sys.path.append('/home/lz/PycharmProjects/pytracking/pytracking');sys.path.append('/home/lz/PycharmProjects/vot-toolkit/native/trax/support/python');import run_vot;run_vot.run_vot('dimp', 'dimp50_vot18', debug=1)"
CLIENT: Working directory is /tmp/tpd2cd026a_a00d_4bdf_ace8_7b45cb133d3f
CLIENT: Flushing streams
CLIENT: Starting process
CLIENT: Setting up TraX with standard streams connection
CLIENT: Process should be terminated.
CLIENT: Stopping logger.
CLIENT: Tracker exited normally.
CLIENT: Unable to establish connection.
CLIENT: Cleaning up.
CLIENT: Stopping logger thread
CLIENT: Trying to stop process using protocol.
CLIENT: Trying to stop process using protocol.
      Tracker execution interrupted: Unable to establish connection.
Error using traxclient
Unable to establish connection.

Error in tracker_run (line 77)
    data = traxclient(tracker.command, callback, ...

Error in experiment_supervised (line 72)
    data = tracker_run(tracker, @callback, data);

Error in tracker_evaluate (line 57)
	[files, metadata] = experiment_function(tracker, sequence, directory, parameters, scan);

Error in workspace_evaluate>execute_iterator (line 128)
            tracker_evaluate(event.tracker, event.sequence, event.experiment);

Error in iterate (line 65)
            context = iterator(event, context);

Error in workspace_evaluate (line 93)
context = iterate(experiments, trackers, sequences, 'iterator', iterator, 'context', context);

Error in run_experiments (line 10)
workspace_evaluate(tracker, sequences, experiments);

@maliangzhibi
Copy link
Author

您好!我最后并没有继续使用Matlab中的tookit去解决这个问题,而是结合了pysot中的VOT的评估方法进行的。(Hello! In the end, I did not continue to use the vot toolkit in Matlab to solve this problem, instead combined with the VOT evaluation tookit in pysot.)

@yxxxqqq
Copy link

yxxxqqq commented Nov 6, 2020

@maliangzhibi 请问你是怎么结合的?pytracking怎么得到vot的result txt结果?

@laisimiao
Copy link

@yxxxqqq Pls visit my chinese blog that has detailed instruction:
https://blog.csdn.net/laizi_laizi/article/details/109400356

@yxxxqqq
Copy link

yxxxqqq commented Nov 6, 2020

@laisimiao OK, thank you very much!

@goutamgmb
Copy link
Contributor

@laisimiao Sorry for the delayed response. Have you managed to fix the issue now? Since the vot 2018 toolkit uses matlab to run the tracker, there can always be unexpected issues when trying to evaluate python trackers.

@Naughty-Galileo
Copy link

Do you have this problem: when you use dimp50 to run sequences in vot2018 and fails in some frames and then need initialize, but it can not skip five frames and go on, because once you run dimp50 you need re-compile PrPooling, but the question is PrPooling can't re-compile successfully when it stuck in last run? Here is my log:

@@TRAX:hello "trax.name=" "trax.family=" "trax.image=path;" "trax.region=polygon;" "trax.description=" "trax.version=3" "vot=python" "trax.channels=color;" 
@@TRAX:initialize "file:///home/lz/Videos/VOT2018/birds1/00000001.jpg" "506.5200,241.4000,589.7200,224.7800,593.4800,243.6000,510.2800,260.2200" 
@@TRAX:state "506.5200,241.4000,589.7200,224.7800,593.4800,243.6000,510.2800,260.2200" 
@@TRAX:frame "file:///home/lz/Videos/VOT2018/birds1/00000002.jpg" 
Using /tmp/torch_extensions as PyTorch extensions root...
Detected CUDA files, patching ldflags
Emitting ninja build file /tmp/torch_extensions/_prroi_pooling/build.ninja...
Building extension module _prroi_pooling...
ninja: no work to do.
@@TRAX:state "532.2806,242.9738,61.6670,16.8843" 
@@TRAX:frame "file:///home/lz/Videos/VOT2018/birds1/00000003.jpg" 
@@TRAX:state "535.0534,243.6395,61.5025,19.6819" 
@@TRAX:frame "file:///home/lz/Videos/VOT2018/birds1/00000004.jpg" 
@@TRAX:state "534.1956,242.7101,59.1964,27.9633" 
@@TRAX:frame "file:///home/lz/Videos/VOT2018/birds1/00000005.jpg" 
@@TRAX:state "533.5775,246.7746,57.2774,31.7947" 
@@TRAX:frame "file:///home/lz/Videos/VOT2018/birds1/00000006.jpg" 
@@TRAX:state "535.7314,253.1145,57.7182,27.5214" 
@@TRAX:frame "file:///home/lz/Videos/VOT2018/birds1/00000007.jpg" 
ignore them...
@@TRAX:state "573.7529,363.9419,77.3205,44.9195" 
@@TRAX:frame "file:///home/lz/Videos/VOT2018/birds1/00000097.jpg" 
@@TRAX:state "622.4061,330.9876,70.4741,46.0510" 
@@TRAX:frame "file:///home/lz/Videos/VOT2018/birds1/00000098.jpg" 
@@TRAX:state "625.8318,328.9086,59.4638,56.3283" 
@@TRAX:frame "file:///home/lz/Videos/VOT2018/birds1/00000099.jpg" 
@@TRAX:state "629.3822,328.4370,67.5736,46.7347" 
@@TRAX:quit "trax.reason=" 

and error like this:

    Sequence birds1
      Repetition 1
      Tracker execution interrupted: Unable to establish connection.
Error using traxclient
Unable to establish connection.

Error in tracker_run (line 77)
    data = traxclient(tracker.command, callback, ...

Error in experiment_supervised (line 72)
    data = tracker_run(tracker, @callback, data);

Error in tracker_evaluate (line 57)
	[files, metadata] = experiment_function(tracker, sequence, directory, parameters, scan);

Error in workspace_evaluate>execute_iterator (line 128)
            tracker_evaluate(event.tracker, event.sequence, event.experiment);

Error in iterate (line 65)
            context = iterator(event, context);

Error in workspace_evaluate (line 93)
context = iterate(experiments, trackers, sequences, 'iterator', iterator, 'context', context);

Error in run_experiments (line 12)
workspace_evaluate(tracker, sequences, experiments);
 

Where is my probem??

您解决这个问题了吗?我在vot上评测时在某些帧也会出现这个问题,请问你怎么解决的呢?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants