我的python版本:3.9.7
环境:Windows 10 + pycharm
安装paddlehub
pip install paddlehub
安装的东西很多,要多等一下。
如果安装失败,查看下pip的版本:pip -V
pip的版本低的话,有一些包可能会安装失败。更新下pip
python -m pip install --upgrade pip
如果安装过程中,导致pip安装失败,使用pip出现ModuleNotFoundError: No module named 'pip'可以执行下面的命令
python -m ensurepip
python -m pip install --upgrade pip
安装过程中会自动安装好python的opencv,还有numpy等配合使用的包。
pycharm里面添加代码:
import cv2
import paddlehub as hub
import numpy
class PoseDetectorCl(object):
pose_estimation = hub.Module(name="human_pose_estimation_resnet50_mpii")
img = cv2.imread('people.png')
cv2.imshow("image",img)
cv2.waitKey(0)
result = PoseDetectorCl.pose_estimation.keypoint_detection(images=[img], visualization=True)
print(result)
这个时候执行会出现这个错误:ModuleNotFoundError: No module named 'paddle'
执行下面的命令安装padlle:
python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
这个镜像源可以自己网上找找。
如果安装出错,提示要安装其他包,一般是安装common、dual、tight、data、prox这几个模块,直接安装就是。
安装完成后,可能还是会报这个错误:from .core_avx import * ERROR DLL load failed
Error: Can not import avx core while this file exists: xxxxxx(你安装Python的路径)\paddle2.0\lib\site-packages\paddle\fluid\core_avx.pyd
你可以到你安装python 的 Lib\site-packages\paddle\fluid 位置看一下这个文件的确是存在的
我在网上查了下,要将python\Lib\site-packages\paddle\libs这个目录下的dll动态库考到跟core_avx.pyd一个文件夹下,我这样做了,但是问题没有解决,遇到的可以先试试。
我继续查了下,查到这里:问题解决 import paddle.fluid (baidu.com)
这个老兄给了一个解决方案是:《我用了扫出来缺少的dll太多了》
.解决方法
1. 使用depends软件查看究竟缺失什么dll,下载地址:Dependency Walker (depends.exe) Home Page
下载后,用软件打开paddle安装目录(C:\Users\Administrator\AppData\Local\Programs\Python\Python35\Lib\site-packages\paddle\ fluid)的core.pyd,于是软件提示缺失了两个DLL,就是下图中黄色的两个:
2.在电脑C盘中查找,其中大部分可以找到,基本都在C:\Users\Administrator\AppData\Local\Programs\Python\Python35\Lib\site-packages\paddle\libs文件夹下。将缺失文件拷贝到C:\Windows\System32
再次使用depends软件查看,还有一个msvcr120.dll缺失,在电脑中找不到,下载一个,地址:msvcr120.dll 免费下载 | DLL‑files.com
根据电脑系统位数下载,我的是64位。将其拷贝到C:\Windows\System32。
3.再次使用depends软件查看,直到黄色叹号全部消失,恭喜你离问题解决更近了一步。
4.打开python解释器测试一下,可以看到paddle导入成功,问题得到解决, 是不是有种如释重负的感觉?找个paddlepaddle的demo跑一下吧!
我试了,缺失的dll太多了。我看了下评论,有人说安装vs可以,我就试着装了个visual studio2015,装了大半天,重启后我继续打开这个软件,但是dll文件还是缺失一大串,我打开pycharm执行了前面的代码,居然成功了。
不清楚是装了VS还是重启的结果,不幸遇到的朋友可以先重启不行后再装VS试试。
最后代码执行结果:
关键点:
[{'path': 'ndarray_time=1632711432086259.0', 'data': OrderedDict([('left_ankle', [273, 830]), ('left_knee', [266, 650]), ('left_hip', [266, 440]), ('right_hip', [346, 460]), ('right_knee', [353, 660]), ('right_ankle', [366, 870]), ('pelvis', [306, 450]), ('thorax', [320, 260]), ('upper_neck', [320, 230]), ('head_top', [306, 90]), ('right_wrist', [40, 190]), ('right_elbow', [140, 230]), ('right_shoulder', [240, 250]), ('left_shoulder', [400, 250]), ('left_elbow', [446, 260]), ('left_wrist', [413, 220])])}]
带关键点输出图片在相对路径output_pose\下。