栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Openpose 的配置与应用(python-pytorch-Win10)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Openpose 的配置与应用(python-pytorch-Win10)

Openpose 可以检测出人体关键点

库的安装、编译报错、下载Swig编译

import _pafprocess
ModuleNotFoundError: No module named '_pafprocess'

资料下载地址:https://github.com/tensorboy/pytorch_Realtime_Multi-Person_Pose_Estimation

1.库的安装:

在这里由于需要,我是用的是python3.6,文件下载后可以在demo中运行程序,如果缺少库就会报错,用 pip install 库名 的方式安装。注意torch安装支持cuda的,安装过程参考https://mp.csdn.net/mp_blog/creation/editor/123382077

2.编译报错:

2.1出现报错1:import _pafprocess
ModuleNotFoundError: No module named '_pafprocess'

这是由于Openpose的lib/pafprocess下的文件是C++编写的,我们需要经过编译才能运行

 编译过程:

2.1.1 下载Swig,安装

下载地址:​​​​​​Download SWIG

文件下载后进行解压到自己的安装目录,我自己的路径是:D:swigwin-4.0.2

 添加环境变量:

Swig安装成功。

 2.1.2 用Swig进行编译

在pycharm的终端定位到  E:Pythonproject_firstlibpafprocess路径下

输入命令:swig -python -c++ pafprocess.i && python setup.py build_ext --inplace

如果出现这两个文件并且没有报错,则可以执行下一步。

 编译报错2:Unable to find vcvarsall.bat

这时候,我们需要修改文件。

第一步:找到vcvarsall.bat所在路径。也就是这个文件是VS的文件

此文件一般位于vs安装路径下,我的路径:D:VSVCAuxiliaryBuild

第二步:_msvccompiler.py文件,该文件是python创建虚拟环境后的文件,

我的路径是     D:Anaconda3envspython3.6Libdistutils

 

 修改文件中的_find_vcvarsall(plat_spec)函数:

def _find_vcvarsall(plat_spec):
    best_dir = r'D:VSVCAuxiliaryBuild'
    best_version = 17
    vcruntime = None
    vcruntime_spec = _VCVARS_PLAT_TO_VCRUNTIME_REDIST.get(plat_spec)
    if vcruntime_spec:
        vcruntime = os.path.join(best_dir,vcruntime_spec.format(best_version))
    if not os.path.isfile(vcruntime):
        log.debug("%s cannot be found", vcruntime)
        vcruntime = None
        print(vcruntime)
    return r'D:VSVCAuxiliaryBuildvcvarsall.bat', vcruntime

回到终端  E:Pythonproject_firstlibpafprocess路径下

输入命令:swig -python -c++ pafprocess.i && python setup.py build_ext --inplace

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/767291.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号