Khadas Docs

Amazing Khadas, always amazes you!

User Tools

Site Tools


products:sbc:vim3:npu:npu-app

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
products:sbc:vim3:npu:npu-app [2023/09/12 03:26]
sravan [Compile and inference]
products:sbc:vim3:npu:npu-app [2024/03/12 05:26] (current)
louis
Line 135: Line 135:
 ``` ```
  
-2. The compiled library ''libnn_yolo_v3.so'' is generated in bin_r folder. Move the library file into the ''/usr/lib'' directory of the system.+2. The compiled library ''libnn_yolo_v3.so'' is generated in ''bin_r'' folder. Add it to the library path variable.
  
 ```shell ```shell
-sudo cp -r bin_r/libnn_yolo_v3.so /usr/lib+export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/bin_r/libnn_yolo_v3.so
 ``` ```
  
-3. You will also need to build the contents of the ''source_code'' directory and move the library file into ''/usr/lib'' as well.+3. You will also need to build the contents of the ''source_code'' directory.
 ```shell ```shell
 $ cd aml_npu_app/detect_library/source_code $ cd aml_npu_app/detect_library/source_code
Line 149: Line 149:
 $ ls $ ls
 bin_r  build_vx.sh  detect.c  detect_log.c  include  Makefile  makefile.linux  makefile.linux.def bin_r  build_vx.sh  detect.c  detect_log.c  include  Makefile  makefile.linux  makefile.linux.def
-$ sudo cp -r bin_r/libnn_detect.so /usr/lib 
 ``` ```
  
-4. Now, Build the example application+4. The compiled library ''libnn_yolo_v3.so'' is generated in bin_r folder. Add it to the library path variable. 
 + 
 +```shell 
 +$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/bin_r/libnn_detect.so 
 +``` 
 + 
 +5. Now, Build the example application.
 ```shell ```shell
 $ cd aml_npu_app/detect_library/yolo_demo_x11_usb $ cd aml_npu_app/detect_library/yolo_demo_x11_usb
Line 162: Line 167:
 ``` ```
  
-5. Create a folder named ''nn_data'' under ''bin_r_cv4'' and place the ''yolov3_88.nb'' model file in it.+<WRAP important > 
 +If you use kernel are using version 5.15 or above, please remove the red lines in ''makefile.linux'' before running ''build_vx.sh''
 +</WRAP> 
 + 
 +```diff 
 +LIBS += -L$(VIVANTE_SDK_LIB) -lOpenVX -lOpenVXU -lGAL -lovxlib -lArchModelSw -lNNArchPerf 
 + 
 +LIBS += -L../source_code/bin_r -lnn_detect 
 + 
 +-#LIBS +=-L$(LIB_DIR) -lstdc++ 
 +-LIBS += -lvpcodec -lamcodec -lamadec -lamvdec -lamavutils -lrt -lpthread -lge2d -lion 
 + 
 +############################################################################# 
 +# Macros. 
 +PROGRAM = 1 
 +CUR_SOURCE = ${wildcard *.c} 
 +############################################################################# 
 +``` 
 + 
 +6. Create a folder named ''nn_data'' under ''bin_r_cv4'' and place the ''yolov3_88.nb'' model file in it.
 ```shell ```shell
 $ cd bin_r_cv4 $ cd bin_r_cv4
Line 170: Line 194:
 detect_demo_x11_usb  main.o  nn_data detect_demo_x11_usb  main.o  nn_data
 ``` ```
-===== Run inference =====+===== Run the application =====
  
 Now you can run inference on captured video data using the model. Now you can run inference on captured video data using the model.
Line 176: Line 200:
 $ ./detect_demo_x11_usb -m 2 -d /dev/video1 $ ./detect_demo_x11_usb -m 2 -d /dev/video1
 ``` ```
-==== Run-time parameters ==== +==== Application setup parameters ==== 
-=== Selecting the model ===+=== Parameter to select the detection model ===
  
 The parameter ''-m'' is for selecting the inference model, Here are the all the available models and their respective serial numbers. The parameter ''-m'' is for selecting the inference model, Here are the all the available models and their respective serial numbers.
Line 193: Line 217:
  
  
-For the above example, we used the serial number ''2'' which corresponds to the yolov3 model.+For the above example, we used the serial number ''2'' which corresponds to the ''yolov3'' model.
  
-=== Providing picture as input ===+=== Parameter to set the input as picture ===
  
-If you use the model that takes input as a picture, change ''-d'' to ''-p''. Here is an example with densenet_ctc.+If you use the model that takes input as a picture, change ''-d'' to ''-p''. Here is an example with ''densenet_ctc''.
 ```shell ```shell
 $ ./densenet_ctc_picture -m 15 -p ../KhadasTeam.png $ ./densenet_ctc_picture -m 15 -p ../KhadasTeam.png
 ``` ```
Last modified: 2023/09/12 03:26 by sravan