当前位置: 首页 > news >正文

MMPose安装记录

参考:GitHub - open-mmlab/mmpose: OpenMMLab Pose Estimation Toolbox and Benchmark.

一、依赖环境

        MMPose 适用于 Linux、Windows 和 macOS。它需要 Python 3.7+、CUDA 9.2+ 和 PyTorch 1.6+。我的环境:

Windows 11

Python 3.9

CUDA 11.6

PyTorch 1.13

        考虑到我的base环境已经配置好了cuda,因此创建一个clone了base环境的虚拟环境。

1、创建一个 conda 虚拟环境并激活它。

conda create --name mmpose--clone base
conda activate mmpose

2、使用MIM安装MMEngine和MMCV

pip install -U openmim
mim install mmengine
mim install "mmcv>=2.0.0"

3、安装MMdet

        MMPose 中的一些推理示例脚本需要使用MMDetection(mmdet) 检测人体。如果想运行这些示例脚本,可以通过运行以下命令安装 mmdet:(建议安装)

mim install "mmdet>=3.0.0"

二、从源码安装MMPose

        官方文档:如果基于 MMPose 框架开发自己的任务,需要添加新的功能,比如新的模型或是数据集,或者使用我们提供的各种工具。如果只是希望调用 MMPose 的接口,或者在自己的项目中导入 MMPose 中的模块。直接使用 mim 安装即可。即按照以下命令安装即可。

mim install "mmpose>=1.0.0"

        从源码按如下方式安装 mmpose:

cd E:\pythonproject\
git clone https://github.com/open-mmlab/mmpose.git
cd mmpose
pip install -r requirements.txt
pip install -v -e .
# "-v" 表示输出更多安装相关的信息
# "-e" 表示以可编辑形式安装,这样可以在不重新安装的情况下,让本地修改直接生效

        我的MMPose路径如下: 

         注:对于安装慢的问题建议科学上网。

三、验证安装

1、验证安装包都是否可用

# 检查 Pytorch
import torch, torchvision
print('Pytorch 版本', torch.__version__)
print('torchvision版本', torchvision.__version__)
print('CUDA 是否可用',torch.cuda.is_available())# 检查 mmcv
from mmcv.ops import get_compiling_cuda_version, get_compiler_version
print('CUDA版本', get_compiling_cuda_version())
print('编译器版本', get_compiler_version())# 检查 mmpose
import mmpose
print('mmpose版本', mmpose.__version__)
Pytorch 版本 1.13.1+cu116
torchvision版本 0.14.1+cu116
CUDA 是否可用 True
CUDA版本 11.6
编译器版本 MSVC 192829924
mmpose版本 1.0.0

2、demo测试是否可用

(1)需要下载配置文件和模型权重文件

mim download mmpose --config td-hm_hrnet-w48_8xb32-210e_coco-256x192  --dest .

        完成之后,您会在当前目录下找到这两个文件:td-hm_hrnet-w48_8xb32-210e_coco-256x192.py 和 td-hm_hrnet-w48_8xb32-210e_coco-256x192-0e67c616_20220913.pth, 分别是配置文件和对应的模型权重文件。

  (2)验证推理示例

python demo/image_demo.py \tests/data/coco/000000000785.jpg \td-hm_hrnet-w48_8xb32-210e_coco-256x192.py \hrnet_w48_coco_256x192-b9e0b3ab_20200708.pth \--out-file vis_results.jpg \--draw-heatmap

        运行上述命令后代码会将预测的关键点和热图绘制在图像中的人体上,并保存到当前文件夹的 vis_results.jpg中

# 测试手部关键点
python demo/topdown_demo_with_mmdet.py \demo/mmdetection_cfg/cascade_rcnn_x101_64x4d_fpn_1class.py  \https://download.openmmlab.com/mmpose/mmdet_pretrained/cascade_rcnn_x101_64x4d_fpn_20e_onehand10k-dac19597_20201030.pth \configs/hand_2d_keypoint/topdown_heatmap/onehand10k/td-hm_hrnetv2-w18_8xb64-210e_onehand10k-256x256.py \https://download.openmmlab.com/mmpose/hand/hrnetv2/hrnetv2_w18_onehand10k_256x256-30bc9c6b_20210330.pth \--input tests/data/onehand10k/1402.jpg \--output-root vis_results \--draw-heatmap

四、问题记录

1、ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject

        更新numpy到最新版本。

pip install --upgrade numpy

2、cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window.cpp:1255: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvNamedWindow'

        可能opencv没配好,但是不影响MMPose的使用,在跑demo的时候把--show去掉就好了。

http://www.lryc.cn/news/93502.html

相关文章:

  • 梯度下降优化
  • 一起看 I/O | 将 Kotlin 引入 Web
  • 极致呈现系列之:Echarts地图的浩瀚视野(一)
  • 第四章 模型篇:模型训练与示例
  • 利用人工智能模型学习Python爬虫
  • .Net泛型详解
  • C++ 教程(10)——存储类
  • vue3+vite+element-plus创建项目,修改主题色
  • mysql select是如何一步步执行的呢?
  • 找到距离最近的点,性能最好的方法
  • vue基础--重点
  • HarmonyOS元服务端云一体化开发快速入门(上)
  • leetcode 279.完全平方数
  • Spring boot ApplicationContext
  • 【Python实战】Python采集王者皮肤图片
  • 很详细的Django开发入门详解(图文并茂)
  • Ansible 部署
  • 【操作系统】计算机操作系统知识点总结
  • springmvc整合thymeleaf
  • Redis 内存管理机制
  • Apache Zeppelin系列教程第九篇——Zeppelin NoteBook数据缓存
  • 用代码实现一个简单计算器
  • 运维圣经:挖矿木马应急响应指南
  • 【Flutter】Flutter 如何获取安装来源信息
  • Stimulsoft Reports用户手册:Report Designer介绍
  • 跨模态检索论文阅读:Dissecting Deep Metric Learning Losses for Image-Text Retrieval(GOAL)
  • 贪心算法part5 | ● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间
  • IMX6ULL裸机篇之SPI实验-ICM20608代码实现
  • 51单片机读取DS18B20温度传感器
  • set/map学习