这次来复现openmm-lab的mmaction2代码(github),将会提供问题的图片和一些自己的解决方法和代码。
1.无法安装软件包,解决方法:pycharm-文件-设置-项目mmaction2-python解释器-添加解释器-本地解释器-conda环境-使用现有环境,在这里找到你的虚拟环境。2.参考文章看这篇,按照他这个系列的文章来进行配置环境和训练
pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html
pip install mmcv-full==1.3.8 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.8.0/index.html
pip install mmpycocotools
pip install moviepy opencv-python terminaltables seaborn decord -i https://pypi.douban.com/simple
pip install colorama
cd mmaction2_YF/
python setup.py develop
wget https://download.openmmlab.com/mmdetection/v2.0/faster_rcnn/faster_rcnn_r50_fpn_2x_coco/faster_rcnn_r50_fpn_2x_coco_bbox_mAP-0.384_20200504_210434-a5d8aa15.pth -P ./Checkpionts/mmdetection/
wget https://download.openmmlab.com/mmaction/recognition/slowfast/slowfast_r50_8x8x1_256e_kinetics400_rgb/slowfast_r50_8x8x1_256e_kinetics400_rgb_20200716-73547d2b.pth -P ./Checkpionts/mmaction/
【精选】04【mmaction2 行为识别商用级别】slowfast检测算法使用yolov3来检测人-CSDN博客
3.ERROR: No matching distribution found for opencv-python-headless==4.1.2.30,解决方法:安装一个低版本的,比如下面红色字中的4.5.1.48
pip install opencv-python-headless==4.5.1.48
4. ERROR: Could not build wheels for mmpycocotools, which is required to install pyproject.toml-based projects,解决方法:暂无
conda install git
【安装库】WARNING: A newer version of conda exists._WANG MENG-JYE的博客-CSDN博客
5.觉得下载速度太慢,打开了两个终端同时下载api进同一个虚拟环境,发生WARNING: A newer version of conda exists.pycharm软件里也出现了第一个问题的界面,但有一些命令是能下载的,查找了能不能两个终端一起下载同个虚拟环境,好像没有这个方面的文章,比如下面这个pip install opencv-python-headless==4.5.1.48。
下了半小时的文件又要重新下载。【安装库】WARNING: A newer version of conda exists._WANG MENG-JYE的博客-CSDN博客解决方法:
conda update -n base -c defaults conda
下了很久还没好,发现没有下载pytorch,直接ctrl+c停止,下载pytorch=1.10.1,cudatoolkit=11.3.1。
6.这个时候换了一个b站视频按这个试试看(这个是windows版本的)十分钟就搞定环境了,安装mmdet与mmaction2_哔哩哔哩_bilibili
在源码安装某个库或包时,发现可以python setup.py install 和python setup.py develop两种方式来安装,这两种方法的区别是①python setup.py install:主要是安装典型第三方包,这种包比较稳定,不再需要你去编辑、修改或是调试。②python setup.py develop:当你安装一个包后,这个包需要你不断修改,这样你就不得不重新安装,这时就采用这种安装方法。而python setup.py develop不会真正安装包,而是在系统环境中创建一个软连接指向包实际所在的目录,这样修改了相关文件之后不用再安装便能生效,便于开发调试等
现在除了mmpycocotool不行,(为了实现在MS COCO数据集上训练和测试数据,需要安装pycocotools)。
7.ERROR: Could not find a version that satisfies the requirement gcc (from versions: none),pip intsall gcc 失败,测试命令报错,没有cv2module,pip intsall cv2,发生了和一样的错误。用了文章里的方法 opencv-python-headless==4.1.2.30 ,报错缺少这个命令。解决方法:pip install opencv-python-headless==4.1.2.30
python demo/demo_spatiotemporal_det.py --config configs/detection/ava/slowfast_kinetics_pretrained_r50_8x8x1_20e_ava_rgb.py --checkpoint Checkpionts/mmaction/slowfast_r50_8x8x1_256e_kinetics400_rgb_20200716-73547d2b.pth --det-config demo/faster_rcnn_r50_fpn_2x_coco.py --det-checkpoint Checkpionts/mmdetection/faster_rcnn_r50_fpn_2x_coco_bbox_mAP-0.384_20200504_210434-a5d8aa15.pth --video demo/demo.mp4 --out-filename demo/demoOut.mp4 --det-score-thr 0.9 --action-score-thr 0.5 --output-stepsize 4 --output-fps 6
8.ModuleNotFoundError: No module named 'mmengine',解决方法:在终端中输入
pip install mmengine
9. AttributeError: partially initialized module 'cv2' has no attribute '_registerMatType' (most likely due to a circular import),翻译:部分初始化的模块“cv2”没有属性egisterMatType'很可能是由于循环导入),解决方法:pip install opencv-python-headless==4.4.0.40,发现它在下载的同时在下载wheel。但是卡住了,Reason for being yanked: Release deprecated,被猛拉的原因:不赞成发布???版本太高了好像,
pip install opencv-python-headless==3.4.18.65
这个成功了。这下子问题缩减了很多,MMCV不匹配,pip install mmcv==1.6.1🤪,其他的不行会报缺少轮子wheel,这个轮子是个大问题。1.6.1仍然报一样的错。
python中的cv2库主要用于图片的读入和一些操作。报这个错 不是安装cv2,要安装opencv-Python,pip install opencv-python发现有存在的opencv-python(4.8.1.78)了,很多文章说用这个但这个没有解决问题,后来在pycharm控制台输入import cv2,发现有这个包的,版本为' 3.4.18',pip版本23.3,更换了pip版本
python -m pip install pip==23.0.1
,也没有解决,按照这个文章解决了,但有新的错误发生,即demo.py: error: the following arguments are required: config, checkpoint, video, label[已解决] AssertionError: MMCV==1.3.0 is used but incompatible. Please install mmcv>=1.2.4, <=1.3._海大大海的博客-CSDN博客
10.demo.py: error: the following arguments are required: config, checkpoint, video, label,好像是权重文件没下载好,(训练文件的配置方法和测试文件的配置方法),重新下一下权重文件,进入文件目录打开终端,下载完了也一样。这个是配置问题。解决方法:运行-编辑配置-添加新的配置-选择好文件目录,将报错的参数写到里面。
wget https://download.openmmlab.com/mmdetection/v2.0/faster_rcnn/faster_rcnn_r50_fpn_2x_coco/faster_rcnn_r50_fpn_2x_coco_bbox_mAP-0.384_20200504_210434-a5d8aa15.pth -P ./Checkpionts/mmdetection/
11.改--init--.py里面的mmcv版本限制大小是不行的,我决定去这个网站里下载一个mmcv权重文件,企图找到一个在2.0.0rc4和2.2.0之间的(mmcv-2.0.1-cp37-cp37m-manylinux1_x86_64.whl和mmcv-2.1.0-cp39-cp39-manylinux1_x86_64)https://download.openmmlab.com/mmcv/dist/cu113/torch1.10/index.html,下载后安装报错不是合适的版本,因为没有一个版本符合none。解决方法如下:pip install 然后等待安装。删除重新下发现多了两个🦐666,成功安装。
pip install mmcv
pip install mmcv-full
pip install mmcv==2.1.0
AssertionError: MMCV==1.7.1 is used but incompatible. Please install mmcv>=1.3.8, <=1.7.0.-CSDN博客
12.运行测试代码和、pycharm上运行该文件,出现之前的错误,
/home/lamp/anaconda3/envs/zykcudalinux11339/bin/python /home/lamp/桌面/mmaction2-main/demo/demo_spatiotemporal_det.py
/home/lamp/anaconda3/envs/zykcudalinux11339/lib/python3.9/site-packages/torch/cuda/__init__.py:80: UserWarning: CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up environment, e.g. changing env variable CUDA_VISIBLE_DEVICES after program start. Setting the available devices to be zero. (Triggered internally at /opt/conda/conda-bld/pytorch_1639180487213/work/c10/cuda/CUDAFunctions.cpp:112.)
return torch._C._cuda_getDeviceCount() > 0
usage: demo_spatiotemporal_det.py [-h] [--config CONFIG]
[--checkpoint CHECKPOINT]
[--det-config DET_CONFIG]
[--det-checkpoint DET_CHECKPOINT]
[--det-score-thr DET_SCORE_THR]
[--det-cat-id DET_CAT_ID]
[--action-score-thr ACTION_SCORE_THR]
[--label-map LABEL_MAP] [--device DEVICE]
[--short-side SHORT_SIDE]
[--predict-stepsize PREDICT_STEPSIZE]
[--output-stepsize OUTPUT_STEPSIZE]
[--output-fps OUTPUT_FPS]
[--cfg-options CFG_OPTIONS [CFG_OPTIONS ...]]
video out_filename
demo_spatiotemporal_det.py: error: the following arguments are required: video, out_filename