我在板子上编译,会出现libnn_yolo_tiny.so生成失败的问题,报错如下,您能帮忙看看原因吗?
khadas@Khadas:~/aml_npu_app/detect_library/model_code/detect_yolo_v3_tiny$ ./build_vx.sh /home/khadas/aml_npu_sdk_6.4.3/linux_sdk/linux_sdk
/home/khadas/aml_npu_sdk_6.4.3/linux_sdk/linux_sdk/common.target:85: warning: overriding recipe for target ‘bin_r/libnn_yolo_tiny.so’
/home/khadas/aml_npu_sdk_6.4.3/linux_sdk/linux_sdk/common.target:64: warning: ignoring old recipe for target ‘bin_r/libnn_yolo_tiny.so’
make: Warning: File ‘yolo_tiny_process.c’ has modification time 5932096 s in the future
COMPILE /home/khadas/aml_npu_app/DDK_6.3.3.4/detect_library/model_code/detect_yolo_v3_tiny/yolo_tiny_process.c
COMPILE /home/khadas/aml_npu_app/DDK_6.3.3.4/detect_library/model_code/detect_yolo_v3_tiny/vnn_yolotiny.c
vnn_yolotiny.c: In function ‘vnn_CreateYoloTiny’:
vnn_yolotiny.c:145:29: warning: unused variable ‘data’ [-Wunused-variable]
145 | uint8_t * data;
| ^~~~
At top level:
vnn_yolotiny.c:94:17: warning: ‘load_data’ defined but not used [-Wunused-function]
94 | static uint8_t* load_data
| ^~~~~~~~~
LINK libnn_yolo_tiny.so
/usr/bin/ld: bin_r/yolo_tiny.o: in function model_create': yolo_tiny.c:(.text+0x94): undefined reference to
vnn_CreateYolotiny’
/usr/bin/ld: bin_r/yolo_tiny.o: in function model_release': yolo_tiny.c:(.text+0x348): undefined reference to
vnn_ReleaseYolotiny’
collect2: error: ld returned 1 exit status
make: *** [/home/khadas/aml_npu_sdk_6.4.3/linux_sdk/linux_sdk/common.target:86: bin_r/libnn_yolo_tiny.so] Error 1
就是用了自己训练的yolov3tiny网络,cfg和weight用的是自己修改和训练得到的。class数为1。
而且我发现你这边直接. /build vx. sh就可以,我这边后面还要加一个sdk路径,是版本问题吗?或者我能不能把我的weigh t和cfg发给您,帮我看看您那边能否部署成功?
更新最新的代码,需要同步更新系统吗,另外请问如果是库有问题的话要怎么操作呢?
所以我的cfg和weights理论上就是可以直接移植的吗?我现在需要把系统、SDK、aml_npu_app全部更新到最新的,然后试一下是吗?
是指的SDK,系统和aml_npu_app的适配吗?
我又试了一下,即使是用原始的,不修改,编译也会报错,我按照官方文档操作,直接运行./build_vx.sh是不可以的,要加sdk路径,所以是不是我这边的路径加的有问题啊?
khadas@Khadas:~/aml_npu_app/DDK_6.3.3.4/detect_library/model_code/detect_yolo_v3_tiny$ ./build_vx.sh /home/khadas/aml_npu_sdk_6.4.3/linux_sdk/linux_sdk_6.4.3
/home/khadas/aml_npu_sdk_6.4.3/linux_sdk/linux_sdk_6.4.3/common.target:85: warning: overriding recipe for target ‘bin_r/libnn_yolo_tiny.so’
/home/khadas/aml_npu_sdk_6.4.3/linux_sdk/linux_sdk_6.4.3/common.target:64: warning: ignoring old recipe for target ‘bin_r/libnn_yolo_tiny.so’
LINK libnn_yolo_tiny.so
/usr/bin/ld: bin_r/yolo_tiny.o: in function model_create': yolo_tiny.c:(.text+0x94): undefined reference to
vnn_CreateYolotiny’
/usr/bin/ld: bin_r/yolo_tiny.o: in function model_release': yolo_tiny.c:(.text+0x348): undefined reference to
vnn_ReleaseYolotiny’
collect2: error: ld returned 1 exit status
make: *** [/home/khadas/aml_npu_sdk_6.4.3/linux_sdk/linux_sdk_6.4.3/common.target:86: bin_r/libnn_yolo_tiny.so] Error 1
您好,我使用了最新版本的app仓库,直接在板子上编译,没有任何改动,又报了另一个错误,请问是什么原因呀?
khadas@Khadas:~/Documents/aml_npu_app/detect_library/model_code/detect_yolo_v3$ sudo ./build_vx.sh
COMPILE /home/khadas/Documents/aml_npu_app/DDK_6.3.3.4/detect_library/model_code/detect_yolo_v3/yolov3_process.c
In file included from ./include/yolov3_process.h:4,
from yolov3_process.c:7:
./include/vnn_global.h:9:10: fatal error: vsi_nn_pub.h: No such file or directory
9 | #include “vsi_nn_pub.h”
| ^~~~~~~~~~~~~~
compilation terminated.
make: *** [makefile.linux:52: bin_r/yolov3_process.o] Error 1
我更新最新的系统和app仓库,确实可以跑通,但使用我自己的cfg和weights转换后的代码就不行了,这种情况我需要怎么调试呢,能不能给个大致的方向呢?
不是,我的意思是,我按照这个文档一样的操作,得出的.h和.c文件,放到aml_npu_app里面运行,会报错。如果用原始的就不会,所以是不是cfg文件有些地方是不能改动的,或者说有改动的话需要怎么调试使编译成功呢?
另外,我直接运行官方提供的demo,其他网络都可以成功识别,但是Yolo_tiny识别不出图像内容。