本帖最后由 kqqnhzl 于 2019-10-25 18:12 编辑
Rk3399pro运行openpose 错误锦集以及处理方式
硬件环境:ubuntu 16.04 x64 gtx970 软件环境:cuda + cudnn + tensorflow_gpu + python
错误一,在pc机 运行 from rknn.api import RKNN 出现 undefined symbol: PyFPE_jbuf
/packages$ python3 Python 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul 2 2016, 17:53:06) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux Type "help", "copyright", "credits" or "license" for more information. Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/ai/anaconda3/lib/python3.5/site-packages/rknn/__init__.py", line 1, in <module> from rknn import api File "/home/ai/anaconda3/lib/python3.5/site-packages/rknn/api/__init__.py", line 1, in <module> File "/home/ai/anaconda3/lib/python3.5/site-packages/rknn/api/rknn.py", line 16, in <module> from .rknn_base import RKNNBase ImportError: /home/ai/anaconda3/lib/python3.5/site-packages/rknn/api/rknn_base.cpython-35m-x86_64-linux-gnu.so: undefined symbol: PyFPE_jbuf >>>
出现这个问题的原因就是因为装了多个python版本,导致在用到一些库的时候,系统不知道选择哪一个版本,或者版本选择错误。我的是装了python3.5 和anaconda3
解决办法
卸载 anaconda3
最好下载 pyenv 进行管理 python 版本,一般可以解决这个问题 安装pyenv 参考:[url=]https://blog.csdn.net/yingfeng_yang/article/details/82527321[/url]
错误二 , 运行 python3 rknn_transfer.py 出现 google.protobuf.message.DecodeError: Error parsing message 或者 tf.reduce_mean got an unexpected keyword argument 'keep_dims' 或者其他错误... 重装总是万能的。
解决方案:
提高 pc 机安装的 tensorflow_gpu 到 1.80
我重新安装 tensorflow_gpu-1.8.0-cp36-cp36m-manylinux1_x86_64.whl + python3.6.8 + cuda_9.0.176_384.81_linux.run +cudnn-9.0-linux-x64-v7.tgz + rknn_toolkit-1.1.0- cp36-cp36m-linux_aarch64.whl 解决上述问题。
cuda + cudnn + tensorflow_gpu + python 对应关系如下:
错误三 : python3 rknn_transfer.py bulid 的时候出现 (已放弃 (核心已转存)) 问题
1,安装轮子包的时候保证是 统一用户,要么统一sudo 安装 要么统一 加 –user 安装 例如: pip3 install –user xxxxxx.whl
2,sudo rm -rf ~/.nv (删除安装的cuda 临时文件 亲测有效)
注意问题:
1,保证 pose/coco/pose_deploy_linevec.prototxt 的完整性 2,保证 cuda + cudnn + tensorflow_gpu + python 对应关系 3,模型转换是在pc 机下完成,不是在rk3399pro 上 ,环境搭建具体看wiki 教程
最后成功运行:
|