-
Notifications
You must be signed in to change notification settings - Fork 36
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
Add core dependencies installation script #80
base: main
Are you sure you want to change the base?
Conversation
…d numpy for compatibility
@microsoft-github-policy-service agree |
Thanks! There are some scripts in the If you look at the Dockerfile, you'll notice it is similar to your script. The complexity arises because we have different stages: common, scantools, lamar, etc. I also aimed to avoid including development-only dependencies to prevent creating large images. One question. Have you tried with the lamar image (here)? This supposed to install all the dependencies. I was wondering if having the new pycolmap version breaks the pipeline, in that case I could apply some of your changes in the Dockerfile to return to the old one. |
Thanks a lot for the contribution @ovysotska ! The docker image is not fully functional either as some calls to pycolmap in this pipeline are not compatible with 0.6.0. I think it's better if users can also install from scratch without needing docker so having a dedicated script for local setup would be a good thing. |
@pablospe thanks for the comment. I checked the About the docker image, yes I tried building it. The building part seemed to work :) at least there were no obvious errors. Thanks! |
Ok, I see. Anyways I would like to split this script in several scripts that could be reusable also in the Dockerfile. I will do/propose some changes to this PR, but essentially the same code. Thanks for the contribution! |
@ovysotska |
I will try but now I have a question. Do I need to create my own virtual environment, for example through |
Yes, if you want to install the python packages in a new environment. Otherwise, it will install them in the user's default one. |
… in the Docker image).
Notice that now all the bash scripts are in |
…der/runtime, so docker images will be larger)
I believe it should be ready for merging. |
I just tested this on a fresh Ubuntu 24.04 install. I had to manually get python3.9 and some related stuff by doing something along the lines
Also, seems like there is a bug with the apt version of libsuitesparse-dev and ceres 2.1 (ceres-solver/ceres-solver#1009). I managed to make it work by skipping suitesparse (which is optional). Otherwise everything went smoothly. Let's maybe update README to recommend 22.04 for the time being? Later edit: ran an eval on validation and it went well! |
* [Ceres Solver 2.1](https://ceres-solver.googlesource.com/ceres-solver/+/refs/tags/2.1.0) | ||
* [Colmap 3.8](https://colmap.github.io/install.html) built from source. Note: **Do not install libceres-dev** as it was installed in the previous step. | ||
* [hloc 1.4](https://github.com/cvg/Hierarchical-Localization) and its dependencies | ||
* [pyceres v1.0](https://github.com/cvg/pyceres) built from source. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: pyceres not needed since mentioned in pyproject.
${root_folder}/scripts/install_hloc.sh | ||
|
||
# Pyceres. | ||
python3 -m pip install git+https://github.com/cvg/[email protected] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same, can be removed (installed in next step)
This PR adds a script to pull and install all core dependencies needed for the LaMAR.
Warning, the C++ dependencies will be installed system wide.
This PR also: