Open Hhsssssss opened 4 years ago
你好,我的CUDA是10.1,Libtorch的安装方式是
git clone --recursive https://github.com/pytorch/pytorch -b v1.3.1 cd pytorch mkdir build cd build cmake .. -DBUILD_CUSTOM_PROTOBUF=OFF -DCMAKE_INSTALL_PREFIX=/PATH/TO/libtorch -DBUILD_TORCH=ON -DBUILD_SHARED_LIBS=ON -DBUILD_PYTHON=OFF make -j$(nproc) make install
安装完README里相应的依赖后,修改 build.sh 里的torch的路径
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/home/ss/Depandencies/LibTorch/pytorch/libtorch/share/cmake/Torch
最后编译build.sh,出现如下error
[100%] Linking CXX executable ../LCHP/rgbd_lchp ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::ModelProto::ModelProto(onnx_torch::ModelProto const&)' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `torch::ModelDef::~ModelDef()' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `dger_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::TensorProto* google::protobuf::Arena::CreateMaybeMessage<onnx_torch::TensorProto>(google::protobuf::Arena*)' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `scopy_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `sger_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::TypeProto_Tensor* google::protobuf::Arena::CreateMaybeMessage<onnx_torch::TypeProto_Tensor>(google::protobuf::Arena*)' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `torch::ModelDef::GetMetadata() const' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `dcopy_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `sgemm_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `MKL_Set_Dynamic' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::OperatorSetIdProto* google::protobuf::Arena::CreateMaybeMessage<onnx_torch::OperatorSetIdProto>(google::protobuf::Arena*)' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `fbgemm::fbgemmSupportedCPU()' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::ValueInfoProto* google::protobuf::Arena::CreateMaybeMessage<onnx_torch::ValueInfoProto>(google::protobuf::Arena*)' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::TensorShapeProto_Dimension::clear_value()' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `dswap_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::GraphProto* google::protobuf::Arena::CreateMaybeMessage<onnx_torch::GraphProto>(google::protobuf::Arena*)' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `cpuinfo_initialize' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::AttributeProto* google::protobuf::Arena::CreateMaybeMessage<onnx_torch::AttributeProto>(google::protobuf::Arena*)' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::TensorShapeProto* google::protobuf::Arena::CreateMaybeMessage<onnx_torch::TensorShapeProto>(google::protobuf::Arena*)' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `void fbgemm::Quantize<int>(float const*, int*, int, fbgemm::TensorQuantizationParams const&)' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `daxpy_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::_TensorProto_default_instance_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::_TypeProto_default_instance_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::TypeProto* google::protobuf::Arena::CreateMaybeMessage<onnx_torch::TypeProto>(google::protobuf::Arena*)' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::NodeProto* google::protobuf::Arena::CreateMaybeMessage<onnx_torch::NodeProto>(google::protobuf::Arena*)' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `torch::ModelDef::ModelDef()' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `dgemv_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `void fbgemm::Quantize<signed char>(float const*, signed char*, int, fbgemm::TensorQuantizationParams const&)' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::TypeProto::clear_value()' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `dscal_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `MKL_Get_Max_Threads' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `dgemm_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::_GraphProto_default_instance_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `cv::cuda::DescriptorMatcher::createBFMatcher(int)' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `cpuinfo_isa' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::AttributeProto_AttributeType_IsValid(int)' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::ModelProto::~ModelProto()' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::_TypeProto_Tensor_default_instance_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `MKL_Set_Num_Threads' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `saxpy_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `void fbgemm::Quantize<unsigned char>(float const*, unsigned char*, int, fbgemm::TensorQuantizationParams const&)' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `sgemv_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `ddot_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::TensorShapeProto_Dimension* google::protobuf::Arena::CreateMaybeMessage<onnx_torch::TensorShapeProto_Dimension>(google::protobuf::Arena*)' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::_TensorShapeProto_default_instance_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `torch::_RecordRef_default_instance_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `torch::_ModuleDef_default_instance_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `onnx_torch::ModelProto::ModelProto()' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `sscal_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `sswap_' ../lib/libLCHP_SLAM_DBoW3.so: undefined reference to `cblas_sdot' collect2: error: ld returned 1 exit status CMakeFiles/rgbd_lchp.dir/build.make:183: recipe for target '../LCHP/rgbd_lchp' failed make[2]: *** [../LCHP/rgbd_lchp] Error 1 CMakeFiles/Makefile2:97: recipe for target 'CMakeFiles/rgbd_lchp.dir/all' failed make[1]: *** [CMakeFiles/rgbd_lchp.dir/all] Error 2 Makefile:103: recipe for target 'all' failed make: *** [all] Error 2
我google了一下,说是安装编译Libtorch的时候要用conda? 请问这个你知道怎么解决吗,十分感谢@Merical
Have you changed the Torch_DIR in CMakeLists.txt?
你好,我的CUDA是10.1,Libtorch的安装方式是
安装完README里相应的依赖后,修改 build.sh 里的torch的路径
最后编译build.sh,出现如下error
我google了一下,说是安装编译Libtorch的时候要用conda? 请问这个你知道怎么解决吗,十分感谢@Merical