...
We provide an example function for post-processing, which can complete the parsing of NN processing results:
View file | ||
---|---|---|
|
post_proc_init
post_proc_process
post_proc_deinit
...
Code Block |
---|
BIN=yolov8s-pose-int16 # 1.cross compile # NN_SDK_DIR=Path to NN SDK directory # TOOLCHAIN=Path to toolchain directory NN_SDK_INC=$(NN_SDK_DIR)/include NN_SDK_LIB=$(NN_SDK_DIR)/lib # 1.cross compile #CROSS# CROSS_COMPILE=$(TOOLCHAIN)/aarch64-none-linux-gnu- # #CCCC=$(CROSS_COMPILE)gcc #CXX# CXX=$(CROSS_COMPILE)g++ # 2.build in c3v #CC # NN_SDK_DIR=/usr # CC=gcc # #CXXCXX=g++ NN_SDK_INC=$(NN_SDK_DIR)/include NN_SDK_LIB=$(NN_SDK_DIR)/lib CFLAGS=-Wall -O3 INCLUDE += -I$(NN_SDK_INC) -I$(NN_SDK_INC)/HAL -I$(NN_SDK_INC)/ovxlib -I$(NN_SDK_INC)/jpeg LIBS += -L$(NN_SDK_LIB) -L./ -L$(STD_LOG_INC) LIBS += -lOpenVX -lOpenVXU -lOpenVX -lCLC -lVSC -lGAL -ljpeg -lovxlib -lm LIBS += -lNNArchPerf -lArchModelSw LIBS += -lstdc++ -ldl -lpthread -lgcc_s CFLAGS += $(INCLUDE) -fPIC CFLAGS += -Wno-unused-variable -Wno-unused-function -Wno-unused-but-set-variable SRCS=${wildcard *.c} SRCS+=${wildcard *.cpp} OBJS=$(addsuffix .o, $(basename $(SRCS))) .SUFFIXES: .hpp .cpp .c .cpp.o: $(CXX) $(CFLAGS) -std=c++11 -c $< .c.o: $(CC) $(CFLAGS) -c $< all: $(BIN) $(BIN): $(OBJS) $(CC) $(CFLAGS) $(LFLAGS) $(OBJS) -o $@ $(LIBS) rm -rf *.o clean: rm -rf *.o rm -rf $(BIN) $(LIB) rm -rf *~ |
3. Running on the C3V Linux
Insmod to the kernel if the driver is not probe
...
Code Block |
---|
/mnt/yolov8s-pose_int16_nbg_unify # ./yolov8s-pose-int16 ./network_binary.nb ../input.jpg Create Neural Network: 28ms59ms or 28375us59044us Verify... Verify Graph: 21ms24ms or 21116us24933us Start run graph [1] times... Run the 1 time: 57122.55ms44ms or 57548122443.24us93us vxProcessGraph execution time: Total 58122.05ms66ms or 58053122658.36us48us Average 58122.05ms66ms or 58053122658.36us48us obj: L: 0 P:0.93, [(0, 42) - (200, 599)] obj: L: 0 P:0.91, [(309, 279) - (180, 361)] obj: L: 0 P:0.58, [(344, 171) - (170, 301)] |