conda env config vars set LD_LIBRARY_PATH="/home/cyl/miniconda3/envs/dinov2/lib/" conda env config vars set CPATH="/home/cyl/miniconda3/envs/dinov2/include/" conda env config vars set CUDA_HOME="/home/cyl/miniconda3/envs/dinov2/"
export DATASET=/pth/to/dataset # path to your coco data
一些绊脚石 ^ ^
1
根据[[Cuda+Torch]],需要先安装cudatoolkit和cuda-toolkit
1 2 3 4 5
conda install nvidia/label/cuda-11.7.0::cuda-toolkit -c nvidia/label/cuda-11.7.0 conda install cudatoolkit # no need to specify version conda env config vars set LD_LIBRARY_PATH="/home/cyl/miniconda3/envs/<name>/lib/" conda env config vars set CPATH="/home/cyl/miniconda3/envs/<name>/include/" conda env config vars set CUDA_HOME="/home/cyl/miniconda3/envs/<name>/"
如果编译时出现ld: cannot find -lcudart: No such file or directory collect2: error: ld returned 1 exit status 报错,只是因为没有安装cudatoolkit ^ ^
3
安装完成后直接import semantic_sam会报错ModuleNotFoundError: No module named 'MultiScaleDeformableAttention' ^ ^ 提示:
1 2 3
Please compile MultiScaleDeformableAttention CUDA op with the following commands: `cd mask2former[/modeling/pixel_decoder/ops](http://127.0.0.1:8888/modeling/pixel_decoder/ops)` `sh make.sh`
需要手动make一下 Mask2Former:
1 2
cd Mask2Former/mask2former/modeling/pixel_decoder/ops/ sh make.sh
conda env config vars set LD_LIBRARY_PATH="/home/cyl/miniconda3/envs/gsam/lib/python3.10/site-packages/nvidia/cuda_runtime/lib/:$LD_LIBRARY_PATH" conda env config vars set CPATH="/home/cyl/miniconda3/envs/gsam/lib/python3.10/site-packages/nvidia/cuda_runtime/include/:$CPATH" conda env config vars set CUDA_HOME="/home/cyl/miniconda3/envs/gsam/"
Note: 注意改变了库路径之后nvim中的lsp会报错,建议之后改回去
1 2 3
conda env config vars set LD_LIBRARY_PATH="" conda env config vars set CPATH="" conda env config vars set CUDA_HOME=""
Note: To find the correct path for CUDA_HOME use which nvcc. In my case, output of the command was:
1 2
>>> which nvcc /home/user/miniconda3/envs/py12/bin/nvcc
Therefore, I set the CUDA_HOME as /home/user/miniconda3/envs/py12/.
Note: To find the correct path for LD_LIBRARY_PATH use find ~ -name cuda_runtime_api.h. In my case, output of the command was:
So I set the LD_LIBRARY_PATH as /home/user/miniconda3/envs/py12/targets/x86_64-linux/lib/ and CPATH as /home/user/miniconda3/envs/py12/targets/x86_64-linux/include/. If you have multiple CUDA installations, the output of find ~ -name cuda_runtime_api.h will display multiple paths. Make sure to choose the path that corresponds to the environment you have created.