【写在最前面】
妥妥的小白,搭环境搞了2天。感谢助教大大的悉心解答与帮助,终于跑通了Demo!开心O(∩_∩)O、撒花~~~助教大大奥利给~~~接下来把搭环境中遇到的坑分享给大家,能避就避呀。
【视频参考】
1. OpenMMLab 环境配置 (一) Windows 11 CPU
2. RTMPose关键点检测-安装MMDetection和MMPose
【目标】
① Visual Studio Code 的安装
② Miniconda 配置 Python 虚拟环境
③ PyTorch & MMCV 等依赖的安装
④ 演示 MMDetection 目标检测 demo
⑤ 安装 MMPose
⑥ 检查安装成功
【踩坑经历与经验分享】
开始搭建环境时,参考视频1很顺利的完成了①—②,到了③就开始报错了。
1 问题:ModuleNotFoundError:No module named 'torch' (没有名为“torch”的模块)
报错原因:该环境下未安装好pytorch。
原以为的解决方案:
conda install pytorch torchvision torchaudio cpuonly -c pytorch
但又继续报错了……
2 问题:EnvironmentNotWritableError: The current user does not have write permissions to the target enbironment.(当前用户没有对目标环境的写入权限。)
报错原因:在安装conda时用了root权限,所以现在非root用户没有读写权。
解决方案:用管理员身份启动Anaconda Powershell Prompt,如下图所示:
就解决了这个问题。(问题2参考链接)
3 问题 【助教大大建议】安装pytorch与cuda等环境版本匹配
解决方案:查看电脑显卡型号,cuda版本,然后挑选对应的pytorch下载
查看电脑对应的cuda版本:
nvidia-smi
然后对应需要下载cuda12.0版本,全程参考Cuda和cuDNN安装教程(超级详细)。真得很好用~
若cuda安装成功,可用以下命令检查版本号:
nvcc --version
4 问题 问题3解决后,继续回到问题1,需解决版本不兼容的各种问题。pip's dependency resolver does not currently take into account all the packages that are installed.This behaviour is the source of the following dependency conflicts.(pip依赖的解析器目前没有考虑到所有安装的包,这种行为是导致以下冲突的原因。torchvision 0.15.2+cpu需要torch==2.0.1,但与目前拥有的torch 2.0.0+cu118是不兼容的。)
报错原因:需选择对应的版本,因为后期需要用到OpenMMLab平台,建议torch版本选择2.0.0之前的。
解决方案:卸载以前的版本
pip uninstall torch
下载对应的torch、torchvision安装包,进行安装
检验安装是否成功
import torch
print(torch.cuda.is_available())
若回复True,则说明安装成功。
5 问题 如果下载安装包时出现以下超时问题,请切换手机热点下载。
6 问题 demo跑不出来,“找不到指定模块”。
同时,无论是跑在cpu上,
python -m debugpy --listen 5678 --wait-for-client demo/image_demo.py demo/demo.jpg rtmdet-ins_tiny_8xb32-300e_coco.py --weights rtmdet-ins_tiny_8xb32-300e_coco_20221130_151727-ec670f7e.pth --device cpu
还是,cuda上,
python demo/image_demo.py demo/demo.jpg rtmdet-ins_tiny_8xb32-300e_coco.py --weights rtmdet-ins_tiny_8xb32-300e_coco_20221130_151727-ec670f7e.pth --device cuda:0
都会出现上面的问题。注意cuda这里还有个小坑,cuda:0,冒号后面是没有空格的。
解决方案:卸载了mmdet和mmcv,按照以下步骤重新安装:
pip install -U openmim
mim install mmengine
mim install 'mmcv==2.0.0rc3'
mim install "mmdet>=3.0.0rc6"
就可以了,这里的小坑是:一定要都卸载,先安装mmcv,再安装mmdet!
【写在最后】
没时间了,先写这么多吧……踩坑经验,共勉!
最后的最后,感谢助教大大,感谢助教大大,感谢助教大大~~~重要的事情说三遍~
加油ヾ(◍°∇°◍)ノ゙