votchallenge / toolkit

The official VOT Challenge evaluation and analysis toolkit
http://www.votchallenge.net/
GNU General Public License v3.0
155 stars 43 forks source link

No use env_PATH in trackers.ini #26

Closed laisimiao closed 3 years ago

laisimiao commented 3 years ago

Hi @lukacu , I want to use vot-toolkit-python to evaulate DiMP50 in vot2018, but I found a bug: This is my trackers.ini:

[DiMP]  # <tracker-name>
label = DiMP
protocol = traxpython

command = import pytracking.run_vot as run_vot; run_vot.run_vot('dimp', 'dimp50_vot18')

# Specify a path to trax python wrapper if it is not visible (separate by ; if using multiple paths)
paths = /home/lz/PycharmProjects/pytracking/pytracking

# Additional environment paths
env_PATH = /home/lz/anaconda3/bin/python;${PATH}

The anaconda base env is the env can run tracker DiMP, and I create a new conda env named "vot2020" to install requirements of repo vot-toolkit-python by pip install git+https://github.com/votchallenge/vot-toolkit-python. When I use vot evaluate --workspace /home/lz/PycharmProjects/vot-toolkit-python/workspace DiMPin vot2020 env, I found python interpreter isn't my base env python interprete(although I have add env_PATH in trackers.ini), why? image In this log picture, '/home/lz/anaconda3/envs/vot2020/bin/python' interpreter is using

lukacu commented 3 years ago

So if understand correctly, you want to use your tracker with another virtual environment. You can achieve that by telling the toolkit which interpreter to use, this will already apply correct paths. This is done by setting "python" parameter, which is probably not documented very well at the moment:

[DiMP]  # <tracker-name>
label = DiMP
protocol = traxpython

command = import pytracking.run_vot as run_vot; run_vot.run_vot('dimp', 'dimp50_vot18')

# Specify a path to trax python wrapper if it is not visible (separate by ; if using multiple paths)
paths = /home/lz/PycharmProjects/pytracking/pytracking

python = /home/lz/anaconda3/bin/python
laisimiao commented 3 years ago

Thank you for your solution and it works! (In addition, I force the python to my base interpreter in trax.py and it's just same as your answer, because at first I don't know there is a "python" parameter that could be filled in tracker.ini)