This article provides an overview of how to use the VIP9000 NPU. After a user has trained an NN model, it needs to be converted into a model that the VIP9000 NPU can recognize before it can be used in the C3V Linux environment.
...
We will use the following Vivante NPU reference software:
...
Vivante ACUITY NPU Toolkit:
The Vivante ACUITY™ Toolkit serves to translate NPU Toolkit translates model formats, optimize optimizes networks, and perform performs model training, quantization, and inference until final integrations with devices (Vivante NPUs). The ACUITY NPU Toolkit provides both binary and Python versions.
Document please refer to: Vivante.Programming.ACUITY.Toolkit.User.Guide.pdf
Vivante NPU IDE:
VivanteIDE NPU IDE provides many powerful features for every stage of software development and enables programmers to efficiently accomplish tasks of editing, building, and debugging software on a Vivante an NPU simulator.
The Vivante NPU IDE software provides both X86 Windows 64-bit and X86 Linux 64-bit versions. The Vivante NPU IDE can debug and profile the above OpenVX NN application via the Windows interface.
Document please refer to: Vivante_IDE_User_Guide.pdf
Vivante OVXLIBNN SDK LIB:
The Vivante OVXLIB NN SDK C library is in the NPU accelerator platform to run NBG OpenVX NN applications exported from an ACUITY modelNPU Toolkit. The OVXLIB NN SDK C library files provided in the C3V Linux platform would install OVXLIB and OpenVX the NN SDK library and NPU driver by default.
Document please refer to: https://github.com/VeriSilicon/TIM-VX/blob/main/docs/Programming_Guide.md
...
Compile the C3V Linux environment that supports the VIP9000 NPU.
Please first refer to the document https://sunplus.atlassian.net/wiki/x/CYCMdw to compile the C3V runtime environment that supports the VIP9000 NPU.
Set up the working environment for model conversion.
In the NPU series of documents, Refer to the documents Acuity NN Toolkit Environment and VivanteIDE Install https://sunplus.atlassian.net/wiki/x/CwCOdw to set up the working environment for model conversion.
...
Convert the trained model into a model that can run on the VIP9000 NPU.
The output file types of the OpenVX NN application are .c, .h, and .export.data. Or, .c, .h, and .nbg, if packing binary graph is enabled. (pack_nbg_unify=True).
In the development step, we need to enable binary graph to generate a .nbg file which is working on the C3V Linux. Please refer to the document NN model conversionModel Conversion to complete the model conversion.
Use Vivante NPU IDE to analyze the performance and accuracy of the Acuity model via the above OpenVX NN application (Optional).
Compile an application that can run in the C3V Linux environment.
Please follow the document Run NN Convert Model on C3V Linux to use Vivante OVXLIB NN SDK LIB to run the Acuity NN model via the application in the C3V Linux platform.
...