您现在的位置是:首页 >学无止境 >【6.2】OpenMMLab实战营课程笔记③网站首页学无止境

【6.2】OpenMMLab实战营课程笔记③

麒麟_Carol 2024-10-10 00:01:02
简介【6.2】OpenMMLab实战营课程笔记③

【写在最前面】

妥妥的小白,搭环境搞了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安装包,进行安装

torch、torchvison安装包下载链接

检验安装是否成功

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!

【写在最后】

没时间了,先写这么多吧……踩坑经验,共勉!

最后的最后,感谢助教大大,感谢助教大大,感谢助教大大~~~重要的事情说三遍~

加油ヾ(◍°∇°◍)ノ゙

 

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。