MubarizZaffar / VPR-Bench

This repository contains the codebase and all the relevant information for our IJCV paper on VPR-Bench: An open-source Visual Place Recognition Evaluation Framework
MIT License
125 stars 17 forks source link

Python 3 environment #4

Open Tobias-Fischer opened 2 years ago

Tobias-Fischer commented 2 years ago

Hi @MubarizZaffar, First of all great work with VPR-Bench, we're having lots of fun playing around with it. One pain point is that the environment uses Python 2.7. What is the reason behind this? I'd be happy to help out getting this to work with Python3.8 or so. I've contributed lots of packages to conda-forge, if there is a particular package that needs an update to Python3 let me know.

Best, Tobi

MubarizZaffar commented 2 years ago

Thanks Tobi, yes the original code-base was in Python 2.7 and I couldn't find enough dedicated time to upgrade this to Python 3. You are right, I should. I am not sure how soon I could do that, but if in the meanwhile you do end up doing so within your group, I am always happy to merge it or host two separate versions here.

Tobias-Fischer commented 2 years ago

Hi @MubarizZaffar, do you have a rough idea what needs doing? The code pretty much already looks like Python3 (2to3 doesn't find anything sensible that needs changing). Is it just a matter of testing what needs doing or is there some inherent issues that you foresee?

MubarizZaffar commented 2 years ago

Thanks Tobi. I would divide the code-base into three major parts: techniques' implementations, glue code and dependencies. The glue-code part update is fairly simple, the implementation should also not be a problem (except converting some Pickle dictionaries into compatible formats), but the dependencies I am not quite sure. As I haven't found a dedicated time to work on this, I cannot exactly comment on if/what dependencies could be a bottleneck. If I remember correctly, a year ago when I ended up writing the codebase down in 2.7, it was primarily because of dependencies' issues (I think Caffe but not sure). At that time I didn't spend too much time on solving those issues because that wasn't a priority at the time. For this reason, I think it should be possible to convert this to Python3 if a dedicated effort is put in. Now that we have had this chat, I think I should find some dedicated time to work on this myself or with some student. If I do run into a conda package request, now I know who to contact ;) Meanwhile, as I said earlier, if you guys do end up getting this to work in a fully Python3 env before I do, feel free to create a merge request. Thanks.