Toybrick

标题: Rk3399pro运行openpose 错误锦集以及处理方式 [打印本页]

作者: kqqnhzl    时间: 2019-10-25 18:01
标题: Rk3399pro运行openpose 错误锦集以及处理方式
本帖最后由 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.
>>> fromrknn.api import RKNN
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>
    fromrknn.api.rknn import RKNN
  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  对应关系如下:
[attach]668[/attach]

错误三   :    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 教程

最后成功运行:

[attach]669[/attach]









欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3