当前位置:   article > 正文

windows+anaconda安装AlphaPose(2023.8.29)_alphapose windows

alphapose windows

windows+anaconda安装AlphaPose(2023.8.29)

本文主要是根据记录了一下根据AlphaPose官方GitHub的引导安装AlphaPose的过程和遇到的一些问题。

第一步:根据要求新建虚拟环境

conda create -n alphapose python=3.7 -y
conda activate alphapose
  • 1
  • 2

第二步:安装pytorch

这里官方文档的命令是:

conda install pytorch torchvision torchaudio pytorch-cuda=11.3 -c pytorch -c nvidia 
  • 1

但是我根据这个代码下pytorch时一直提示找不到对应版本的。
所以我在pytorch的官网上搜索到了对应版本的下载命令:

conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch
  • 1

第三步:下载AlphaPose并进入对应文件夹

git clone https://github.com/MVIG-SJTU/AlphaPose.git
cd AlphaPose
  • 1
  • 2

第四步:安装对应的包

官方文档中首先给出了将cuda加入系统路径的命令

export PATH=/usr/local/cuda/bin/:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64/:$LD_LIBRARY_PATH
  • 1
  • 2

但是这个命令在Windows中难以使用,所以我换成了如下所示的命令:

set PATH=C:\path\to\cuda\bin;
set LD_LIBRARY_PATH=C:\path\to\cuda\lib64;
  • 1
  • 2

其中,C:\path\to\cuda 是你 CUDA 安装的路径。
请使用实际的 CUDA 路径替换上述示例中的占位符,并确保在运行其他命令之前设置了正确的环境变量。
这个路径可以通过echo %PATH%查看。

接下来继续安装其他的包:
(这里有些包是官方文档没写出来,但在后面的运行过程中提示需要的最佳版本与python3.7不适配,因此额外下载的)

python -m pip install cython
pip install numpy
conda install matplotlib
conda install scipy
  • 1
  • 2
  • 3
  • 4

在安装完这些包后,继续运行官方文档要求的命令:

python setup.py build develop
  • 1

然而,在这过程中再次报错:

× git clone --filter=blob:none --quiet https://github.com/yanfengliu/cython_bbox.git ‘C:\Users\LX\AppData\Local\Temp\pip-req-build-vcl5wdbv’ did not run successfully.
error: subprocess-exited-with-error

因此,选择额外安装cython-bbox模块:

python -m pip install git+https://github.com/yanfengliu/cython_bbox.git
  • 1

最后,安装PyTorch3D包(可选,用于可视化):

conda install -c fvcore -c iopath -c conda-forge fvcore iopath
conda install -c bottler nvidiacub
pip install git+ssh://git@github.com/facebookresearch/pytorch3d.git@stable
  • 1
  • 2
  • 3

其中,在安装nvidiacub时再度提示镜像源中找不到对应的包。
查看一些教程发现Windows需要下载之后添加系统路径,暂时不安装了。
安装可以参考链接:https://blog.csdn.net/weixin_44136697/article/details/127061618

第五步:下载模型

  1. 手动下载对象检测模型:yolov3-spp.weights。将其放入 ./detector/yolo/data
  2. (可选)如果要使用 YOLOX 作为检测器,可以在此处下载权重,并将它们放入./detector/yolox/data。官方推荐 yolox-l 和 yolox-x。
  3. 下载AlphaPose姿势模型。将它们放入 ./pretrained_models。所有模型和详细信息都可以在modelzoo中找到。
  4. 对于姿态追踪,参考追踪的相关文档

第六步:下载数据集(可选)

如希望自行训练可下载对应数据集,具体参考官方文档

第七步:运行模型参数

以Multi Domain Models中的Fast Pose为例,在命令行执行:

python scripts/demo_inference.py --cfg configs/halpe_coco_wholebody_136/resnet/256x192_res50_lr1e-3_2x-regression.yaml --checkpoint pretrained_models/multi_domain_fast50_regression_256x192.pth --indir examples/demo/ --save_img
  • 1

运行后,收获报错:

AttributeError: module ‘yaml’ has no attribute ‘FullLoader’

经调查可能是使用过期的 PyYAML 库或错误的版本导致的,需要更新 PyYAML 库,更新命令为:

conda update pyyaml
  • 1

然而最终仍然报错:

RuntimeError: CUDA out of memory. Tried to allocate 30.00 MiB (GPU 0; 4.00 GiB total capacity; 2.60 GiB already allocated; 21.28 MiB free; 2.74 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

这是设备GPU 内存不足导致的。接下来考虑在服务器上复现,或者复现一下CPU版本

在执行命令后增加--gpus -1之后就成功运行alphapose得到结果啦~
(此处gpus为-1时表示不使用gpu,也可以在scripts/demo_inference.py中将gpus的默认值修改为-1)
具体命令如下所示:

python scripts/demo_inference.py --cfg configs/halpe_coco_wholebody_136/resnet/256x192_res50_lr1e-3_2x-regression.yaml --checkpoint pretrained_models/multi_domain_fast50_regression_256x192.pth --indir examples/demo/ --save_img --gpus -1
  • 1

结果可以在AlphaPose\examples\res路径下找到。
alphapose试运行的结果

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/342805
推荐阅读
相关标签
  

闽ICP备14008679号