代码:https://github.com/open-mmlab/mmskeleton
官方配置过程(省略了很多步骤):https://github.com/open-mmlab/mmskeleton/blob/master/doc/GETTING_STARTED.md
参考博客(详细):https://blog.csdn.net/weixin_43390800/article/details/109838293?spm=1001.2014.3001.5502
一、首先创建一个全新的虚拟环境
(cuda要求版本10.0,我的为11.1,查看cuda版本:nvcc -V
)
打开cmd命令行窗口进行创建
conda create -n open python=3.6.13 -y
(注:官方的Python3.7无法下载
)
二、安装与cuda版本匹配的PyTorch and torchvision
(其他版本可能会产生一系列不兼容问题)
# CUDA 10.0
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch
三、安装mmcv
pip install mmcv==0.4.3
(别的版本也会出问题)
四、安装mmdetection
首先下载mmdetection-1.0.0版本,官方地址:https://github.com/open-mmlab/mmdetection/tree/v1.0.0
(2.1.0版本会出现各种问题)
下载到mmskeleton总文件夹中,进行解压。
从第一步配置好的虚拟环境中进入mmdetection-1.0.0所在路径。
1.
pip install -r requirements.txt
python setup.py develop
五、安装lazy_import
-0.2.2
官网下载:https://pypi.org/project/lazy-import/#files
下载到mmskeleton总文件夹,之后解压。
打开setup.py文件,修改line5,6为如下代码:
with open('README.rst', encoding='utf-8') as infile:
readme = infile.read()
保存。
1.从Anaconda Prompt进入lazy_import-0.2.2文件夹路径。
(base) C:\Users\heduo的电脑>cd F:\Action Recognition\st-gcn\lazy_import-0.2.2
(base) C:\Users\heduo的电脑>F:
2.再进入第一步配置好的虚拟环境
(base) F:\Action Recognition\st-gcn\lazy_import-0.2.2>activate open
3.执行命令
(open) F:\Action Recognition\st-gcn\lazy_import-0.2.2>python setup.py install
安装成功。
六、安装pycocotools
官网下载:https://github.com/philferriere/cocoapi
依旧下载到mmskeleton总文件夹下进行解压。
1.以管理员身份打开 cmd 命令行窗口,进入到PythonAPI路径下
C:\Windows\system32>cd F:\Action Recognition\st-gcn\cocoapi-master
C:\Windows\system32>F:
F:\Action Recognition\st-gcn\cocoapi-master>cd PythonAPI
2.进入第一步创建好的虚拟环境
F:\Action Recognition\st-gcn\cocoapi-master\PythonAPI>activate open
3.运行以下命令
python setup.py build_ext --inplace
python setup.py build_ext install
七、成功运行
(open) F:\Action Recognition\st-gcn>python mmskl.py pose_demo --gpus 1
运行结果:
len(sys.argv)=4
sys.argv[0]--------- mmskl.py
sys.argv[1]--------- pose_demo
sys.argv[2]--------- --gpus
i--------- 0
arg--------- mmskl.py
i--------- 1
arg--------- pose_demo
i--------- 2
arg--------- --gpus
Load configuration information from ./configs/pose_estimation/pose_demo.yaml
mod_str=processor.pose_demo, _sep=., class_str=inference
mod_str=mmskeleton.processor.pose_demo, _sep=., class_str=inference
Pose estimation:
f:\action recognition\st-gcn\mmdetection-1.0.0\mmdet\apis\inference.py:40: UserWarning: Class names are not saved in the checkpoint's meta data, use COCO classes by default.
warnings.warn('Class names are not saved in the checkpoint\'s '
mod_str=models.estimator, _sep=., class_str=HRPoseEstimator
mod_str=mmskeleton.models.estimator, _sep=., class_str=HRPoseEstimator
mod_str=models.backbones, _sep=., class_str=HRNet
mod_str=mmskeleton.models.backbones, _sep=., class_str=HRNet
mod_str=models.skeleton_head, _sep=., class_str=SimpleSkeletonHead
mod_str=mmskeleton.models.skeleton_head, _sep=., class_str=SimpleSkeletonHead
mod_str=models.loss, _sep=., class_str=JointsMSELoss
mod_str=mmskeleton.models.loss, _sep=., class_str=JointsMSELoss
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 300/300, 1.0 task/s, elapsed: 293s, ETA: 0s
Generate video:
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 300/300, 1105.3 task/s, elapsed: 0s, ETA: 0s
Video was saved to work_dir/pose_demo\skateboarding.mp4