一、安装cuda和cudnn
1.cuda
2.cudnn
3. 修改~/.bashrc
4.卸载旧版本cuda、nvcc等
此情况只限于存在旧版本cuda的情况下。
网上很多资料都说使用命令sudo apt-get remove cuda
,但我在使用后nvcc -V
依旧为旧版本号。
我采用以下步骤:
- sudo ./cuda-8.0/bin/uninstall_cuda_8.0.pl
- sudo rm -rf cuda # 如果安装过新版本后,则此步骤可以不忽略
- sudo rm -r cuda-8.0
如果觉得删除的不干净,则使用
sudo find / -name cuda8*
命令来找到带有cuda9的文件,逐个删除。
遇到的bug
- detectron2安装出现Kernel not compiled with GPU support 报错信息
python -c 'import torch; from torch.utils.cpp_extension import CUDA_HOME; print(torch.cuda.is_available(), CUDA_HOME)'
参考文章:https://www.cnblogs.com/marsggbo/p/11916859.html
- Python2 的
unicode
函数在 Python3 中被命名为str
。在 Python3 中使用str
来代替 Python2 中的unicode
.
Traceback (most recent call last):
File "evaluator_model.py", line 62, in <module>
results_i = inference_on_dataset(model, data_loader, evaluator)
File "/home/aistudio/envs/detectron2/lib/python3.7/site-packages/detectron2/evaluation/evaluator.py", line 176, in inference_on_dataset
results = evaluator.evaluate()
File "/home/aistudio/envs/detectron2/lib/python3.7/site-packages/detectron2/evaluation/coco_evaluation.py", line 143, in evaluate
self._eval_predictions(set(self._tasks), predictions)
File "/home/aistudio/envs/detectron2/lib/python3.7/site-packages/detectron2/evaluation/coco_evaluation.py", line 186, in _eval_predictions
if len(coco_results) > 0
File "/home/aistudio/envs/detectron2/lib/python3.7/site-packages/detectron2/evaluation/coco_evaluation.py", line 493, in _evaluate_predictions_on_coco
coco_dt = coco_gt.loadRes(coco_results)
File "/home/aistudio/envs/detectron2/lib/python3.7/site-packages/pycocotools/coco.py", line 308, in loadRes
if type(resFile) == str or type(resFile) == unicode:
NameError: name 'unicode' is not defined
解决办法:将/envs/detectron2/lib/python3.7/site-packages/pycocotools/coco.py 文件中的308行代码改为
if type(resFile) == str:# or type(resFile) == unicode:
- “Not compiled with GPU support”
原因:没找到
解决办法:
使用下述命令,查看cuda和nvcc
python -c 'import torch; from torch.utils.cpp_extension import CUDA_HOME; print(torch.cuda.is_available(), CUDA_HOME)'
输出:True /usr/local/cuda
,表示cuda和nvcc都没问题。则把之前安装好的版本卸载并删除干净,重新安装就可以了。(目前不知道什么原因导致的)