The beta release of NN Framework
Target of the beta release
The beta release will be a open-source release.
In this version, we have done the following work:
Optimize the pipeline dataflow.
Optimize model plugin.
Add some NN modules.
Optical character recognition.
Age recognition.
Face det and Age recognition.
Yolov8 Detection.
Add command for model list.
Regarding the user interface, maintain compatibility and consistency with the alpha version.
Adjust the internal structure of NNF and output the initial version of open-source code.
Optimize the system to make it more robust, and after long-term testing, the system is stable.
Form of the beta release
Provide a sample demo for users to refer to, and they can directly run the sample app to verify the NN environment of C3V.
Provide Libs and header files for users to integrate specific NN modules into their applications using the standard interfaces we provide.
Provide COMPILE SH to enable users to easily compile NN framework and locate generated resources in the specified release directory.
Open source the NN Framework to facilitate users to better understand the internal operations of NNF. In the next version, we will distinguish between official and customized partitions, making it easier for users to add their own models or copy an official model to a customized partition for customized modifications.
Beta release resource
Please get the beta release resource here.
Usage of the beta release
How to verify Official Demos
You can use the script we provide to start as follows:
/NNF/release # ./nnf_run.sh
usage: ./bin/nnf_nnsample model modelName
modelNames:
yolov5s
lightFace
age
humanAttr
ocrDet
ocrCls
ocrRec
yolov8n
usage: ./bin/nnf_nnsample sequential modelNames
avaliable model combinations:
yolov5s humanAttr
lightFace age
ocrDet ocrRec
ocrDet ocrCls ocrRec
usage: ./bin/nnf_nnsample streaming modelNames
avaliable model combinations:
yolov5s humanAttr
lightFace age
ocrDet ocrRec
ocrDet ocrCls ocrRec
usage: ./bin/nnf_nnsample fileStreaming fileName modelNames
avaliable model combinations:
yolov5s humanAttr
lightFace age
ocrDet ocrRec
ocrDet ocrCls ocrRec
usage: ./bin/nnf_nnsample all
Perform all the above test items
Release folder structure
bin: nnf_nnsample. Prebuild sample programs that can run on the c3v Linux platform.
image: images used for detection.
model: models to be used in the sample program.
include:header file of NN framework SDK.
lib:libraries of NN framework SDK.
souces:example code for using NN framework.
video: Some released video files.
nnf_run.sh:executable script for running sample code.
How to run NN framework sample
Copy the release foler to C3V Linux.
/NNF/release # ls -alh
drwxr-xr-x 9 10989 11400 4.0K Jul 10 2024 .
drwxr-xr-x 10 10989 11400 4.0K Jul 10 2024 ..
drwxr-xr-x 2 10989 11400 4.0K Jul 10 2024 bin
drwxr-xr-x 2 10989 11400 4.0K Jul 10 2024 image
drwxr-xr-x 5 10989 11400 4.0K Jul 10 2024 include
drwxr-xr-x 5 10989 11400 4.0K Jul 10 2024 lib
drwxr-xr-x 2 10989 11400 4.0K Jul 10 2024 model
-rw-r-xr-x 1 10989 11400 349 Jul 10 2024 nnf_run.sh
drwxr-xr-x 5 10989 11400 4.0K Jul 10 2024 sources
drwxr-xr-x 2 10989 11400 4.0K Jul 10 2024 video
Run nnf_run.sh to run NNF sample.
a. One-time input
./nnf_run.sh model yolov8n
sunplus@ubuntu:~/workspace/release$ ./nnf_run.sh model yolov8n
yolov8n in
general(box: 0 54 634 585) --> label: 0, confidence: 0.90
yolov8n out, retVal: 0
b. Multiple inputs
./nnf_run.sh streaming yolov8n
c. Read inputs from video file.
./nnf_run.sh fileStreaming video/humanCount.mp4 yolov8n
How to build NN framework
Cross-compile for C3V environment.
a. Please use nnf_build.sh
for NN framework compiling.
b. All the resouce will installed to release folder.
Copy release folder to the C3V platform.
Setup environment variable.
a. Setting environment variables independently.
b. Run nnf_run.sh
will auto set environment variables.
Then, you can run nnf_run.sh for NNF sample.
Models of the beta release
Model Name | Version or Path |
Optical character recognition |
|
Age recognition | https://gitcode.com/smahesh29/Gender-and-Age-Detection/commits/master 7c024d9d453c9b35a72a984d8821b5832ef17401 |
Yolov8 Detection |