前段时间运行rknn模型,RKNN Runtime在运行一段时间后风扇开始转快然后卡死,查询了原因可能是由于模型加载过多或者模型过大导致的。您可以尝试以下方法解决问题:
bash
降低模型的精度,减少模型大小。
减少批量大小,以减少模型加载数量。
检查硬件资源是否足够,如内存、GPU等。
检查RKNN Runtime的版本是否最新,如果不是,请升级到最新版本。
于是我发现
bash
I RKNN: [02:21:06.703] RKNN Runtime Information: librknnrt version: 1.3.0 (c193be371@2022-05-04T20:16:33)
I RKNN: [02:21:06.703] RKNN Driver Information: version: 0.7.2
I RKNN: [02:21:06.707] RKNN Model Information: version: 1, toolkit version: 1.4.0-22dcfef4(compiler version: 1.4.0 (3b4520e4f@2022-09-05T20:52:35)), target: RKNPU v2, target platform: rk3588, framework name: ONNX, framework layout: NCHW
W RKNN: [02:21:06.707] RKNN Model version: 1.4.0 not match with rknn runtime version: 1.3.0
果然驱动没有最新
于是下载了最新的rknpu2文件,使用以下命令进行下载:
git clone https://github.com/rockchip-linux/rknpu2
然后
bash
cp rknpu2/runtime/RK3588/Linux/rknn_server/aarch64/usr/bin/rknn_server /usr/bin/rknn_server
cp rknpu2/runtime/RK3588/Linux/librknn_api/aarch64/librknnrt.so /usr/lib/librknnrt.so
cp rknpu2/runtime/RK3588/Linux/librknn_api/aarch64/librknn_api.so /usr/lib/librknn_api.so
然后启动rknn_server用脚本restart_rknn.sh或是start_rknn.sh
就ok了