cvg / limap

A toolbox for mapping and localization with line features.
BSD 3-Clause "New" or "Revised" License
661 stars 67 forks source link

No CUDA GPUs are available #61

Closed Douuble closed 6 months ago

Douuble commented 7 months ago

We have already set up the whole environment of COLMAP and LIMAP (gui window pops up after running colmap gui, and there is no error after running python3 -c "import limap"). But when we tried to run the Quickstart command _python runners/hypersim/triangulation.py --output_dir outputs/quickstarttriangulation on the Ubuntu virtual environment in the VMware locally, it failed with the error I attached. I wonder if there is the way that can we run it without cuda and with just CPUs?

error
B1ueber2y commented 7 months ago

Hey. Thanks for the interest!

The feature extraction and matching for lines are mostly benefited from deep learning, thus cannot run on CPU. Nonethess, the classic detector and matcher LSD + LBD is applicable when GPU is not available, though leading to degraded performance and efficiency.

I have just supported a CPU-friendly options in the configurations. To be able to run on devices without CUDA GPU, you can run:

python runners/hypersim/fitnmerge --default_config_file cfgs/fitnmerge/default_cpu.yaml --output_dir outputs/quickstart_fitnmerge

Same also applies to triangulation where the default config file will be cfgs/triangulation/default_cpu.yaml

Thanks again!

Douuble commented 7 months ago

Thank you for your reply and improvement! !

I tried the modified version, but I think maybe you forget the .py, I run: python runners/hypersim/fitnmerge.py --default_config_file cfgs/fitnmerge/default_cpu.yaml --output_dir outputs/quickstart_fitnmerge.

And I encountered the new error listed below: image I tried some solutions like reducing the version of joblib, running with just five images, but they didn't work. I wonder if you have any ideas about it.