antoalli / Deco

DeCo: Denoise and Contrast for Category Agnostic Shape Completion
34 stars 3 forks source link

Problem in installing Chamfer distance package #3

Closed liuhw923 closed 2 years ago

liuhw923 commented 3 years ago

I have the following error after running python build.py install from models/torch-nndistance: /home/liuhw@1/anaconda3/envs/deco/lib/python3.7/site-packages/torch/include/pybind11/cast.h:2087:1: note: template argument deduction/substitution failed: /home/liuhw@1/anaconda3/envs/deco/lib/python3.7/site-packages/torch/include/pybind11/cast.h:2094:1: note: candidate: template<pybind11::return_value_policy policy, class ... Args, class> pybind11::detail::unpacking_collector pybind11::detail::collect_arguments(Args&& ...) unpacking_collector collect_arguments(Args &&...args) { ^ /home/liuhw@1/anaconda3/envs/deco/lib/python3.7/site-packages/torch/include/pybind11/cast.h:2094:1: note: template argument deduction/substitution failed: /home/liuhw@1/anaconda3/envs/deco/lib/python3.7/site-packages/torch/include/pybind11/cast.h: In instantiation of ‘pybind11::object pybind11::detail::object_api::operator()(Args&& ...) const [with pybind11::return_value_policy policy = (pybind11::return_value_policy)1u; Args = {pybind11::object&, const pybind11::handle&}; Derived = pybind11::detail::accessor]’: /home/liuhw@1/anaconda3/envs/deco/lib/python3.7/site-packages/torch/include/pybind11/pytypes.h:923:28: required from ‘pybind11::str pybind11::str::format(Args&& ...) const [with Args = {pybind11::object&, const pybind11::handle&}]’ /home/liuhw@1/anaconda3/envs/deco/lib/python3.7/site-packages/torch/include/pybind11/pybind11.h:1401:51: required from here /home/liuhw@1/anaconda3/envs/deco/lib/python3.7/site-packages/torch/include/pybind11/cast.h:2108:44: error: no matching function for call to ‘collect_arguments(pybind11::object&, const pybind11::handle&)’ return detail::collect_arguments(std::forward(args)...).call(derived().ptr()); ^ /home/liuhw@1/anaconda3/envs/deco/lib/python3.7/site-packages/torch/include/pybind11/cast.h:2087:1: note: candidate: template<pybind11::return_value_policy policy, class ... Args, class> pybind11::detail::simple_collector pybind11::detail::collect_arguments(Args&& ...) simple_collector collect_arguments(Args &&...args) { ^ /home/liuhw@1/anaconda3/envs/deco/lib/python3.7/site-packages/torch/include/pybind11/cast.h:2087:1: note: template argument deduction/substitution failed: /home/liuhw@1/anaconda3/envs/deco/lib/python3.7/site-packages/torch/include/pybind11/cast.h:2094:1: note: candidate: template<pybind11::return_value_policy policy, class ... Args, class> pybind11::detail::unpacking_collector pybind11::detail::collect_arguments(Args&& ...) unpacking_collector collect_arguments(Args &&...args) { ^ /home/liuhw@1/anaconda3/envs/deco/lib/python3.7/site-packages/torch/include/pybind11/cast.h:2094:1: note: template argument deduction/substitution failed: error: command '/cm/shared/apps/cuda91/toolkit/9.1.85/bin/nvcc' failed with exit status 1 Here is the last part of the code.

Environment: System: centOS Python: 3.7.9 PyTorch: 1.2.0 CUDA Version: 10.0 gcc version 5.5

I would be very grateful if you could give me some help.

antoalli commented 3 years ago

Hi! The problem is that you're using a previous cuda/nvcc version to compile the chamfer distance ( last part of the error code is """ error: command '/cm/shared/apps/cuda91/toolkit/9.1.85/bin/nvcc' failed with exit status 1 """, so I suspect you're someway using cuda 9). After ensuring that you've a cuda 10 installation on your system you can export the variables with: export CUDA_HOME="/usr/local/cuda-10.0" export LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64":$LD_LIBRARY_PATH export PATH="/usr/local/cuda-10.0/bin":$PATH export CPATH="/usr/local/cuda-10.0/include":$CPATH (of course you should change the path if are not matching your installation). Now if you run the command "nvcc --version" you should see that you're using cuda10 and you should be ready to compile the chamfer distance module.