PaddlePaddle / FastDeploy

⚡️An Easy-to-use and Fast Deep Learning Model Deployment Toolkit for ☁️Cloud 📱Mobile and 📹Edge. Including Image, Video, Text and Audio 20+ main stream scenarios and 150+ SOTA models with end-to-end optimization, multi-platform and multi-framework support.
https://www.paddlepaddle.org.cn/fastdeploy
Apache License 2.0
2.89k stars 451 forks source link

RK356X/RK3588使用中碰到的问题合集 #932

Closed Zheng-Bicheng closed 1 year ago

Zheng-Bicheng commented 1 year ago

简介

在使用FastDeploy的过程中大家可能会碰到很多的问题,这个issues用来记录已经解决的共性问题,方便大家查阅。

Zheng-Bicheng commented 1 year ago

issue870

链接地址

https://github.com/PaddlePaddle/FastDeploy/issues/870

问题描述

在编译的过程中没有出现问题,但是运行程序时出现以下报错

error while loading shared libraries: libfastdeploy.so.0.0.0: cannot open shared object file: No such file or directory

分析原因

链接器ld提示找不到库文件。ld默认的目录是/lib和/usr/lib,如果放在其他路径也可以,需要让ld知道库文件所在的路径。

解决方案

临时解决方法

针对RKNPU2的demo,make install后工作目录下会出现./lib文件,运行以下代码,可临时指定库文件的位置 export LD_LIBRARY_PATH=./libs:$LD_LIBRARY_PATH

永久解决方案

方法1:

# 在新的一行中加入库文件所在目录
vim /etc/ld.so.conf      
# 更新/etc/ld.so.cache文件
ldconfig

方法2:

# 将用户用到的库统一放到一个目录,如 /usr/loca/lib
cp libXXX.so.X /usr/loca/lib/           

# 向库配置文件中,写入库文件所在目录
vim /etc/ld.so.conf.d/usr-libs.conf    

# 更新/etc/ld.so.cache文件
ldconfig

这里建议采用第二种办法,它更为方便,对于原系统的改动也最小。而/etc/ld.so.conf的文件内容是include /etc/ld.so.conf.d/*.conf,所以在/etc/ld.so.conf.d目录下,加入任何以.conf为后缀的文件,都能被ld识别。

yutao007 commented 1 year ago

这个第二种方式我这边rk1126上就行不通,没有sudo操作,mkdir 操作,也无法vi不存在的文件。

Zheng-Bicheng commented 1 year ago

这个第二种方式我这边rk1126上就行不通,没有sudo操作,mkdir 操作,也无法vi不存在的文件。

这个是针对356X以及3588在Linux环境下的方法,1126您另外提一个issues让叶梁大佬回复下?

zhouweic36 commented 9 months ago

能否有CPU多线程和NPU多核心的demo,因使用过程中设置cputheadnum似乎作用不是特明显,有加速需求,谢谢

zhouweic36 commented 9 months ago

能否有CPU多线程和NPU多核心的demo,因使用过程中设置cputheadnum和UseRKNPU2(fastdeploy::rknpu2::CpuName::RK3588,fastdeploy::rknpu2::CoreMask::RKNN_NPU_CORE_0_1_2)似乎作用不是特明显,有加速需求,谢谢