Acuitylite is an end-to-end neural-network deployment tool for embedded systems.
Acuitylite support converting caffe/darknet/onnx/tensorflow/tflite models to TIM-VX/TFLite cases.
In addition, Acuitylite support asymmetric uint8 and symmetric int8 quantization.
Attention: We have introduced some important changes and updated the APIs that are not compatible with the version before Acuitylite6.21.0(include). Please read the document and demos carefully.
- OS:
Ubuntu Linux 20.04 LTS 64-bit(python3.8)
Ubuntu Linux 22.04 LTS 64-bit(python3.10)
1. build the recommended docker image and run a container
2. pip install acuitylite --no-deps
Reference: https://verisilicon.github.io/acuitylite
Tips: You can export a TFLite app and using tflite-vx-delegate to run on TIM-VX if the exported TIM-VX app does not meet your requirements.
When you need generate TIM-VX case and nbg, please set the export() function's param pack_nbg_unify=True. Such as: TimVxExporter(model).export(pack_nbg_unify=True), it will use our default SDK. If you want to use your own SDK and licence, please set the param of export() viv_sdk, licence. Such as: TimVxExporter(model).export(pack_nbg_unify=True, viv_sdk=your_sdk_path, licence=path_of_licence_txt)
Attention: your sdk directory structure must strictly follow the directory structure of acuitylib/vsi_sdk!!! your sdk need satisfy the structure of "your_sdk_path/build/install", "your_sdk_path/prebuilt-sdk/x86_64_linux", otherwise the path may have problems. And the licence content is the device target which you want to use.
The exported TIM-VX case supports both make and cmake.
Please set environment for build and run case:
- TIM_VX_DIR=/path/to/tim-vx/build/install
- VIVANTE_SDK_DIR=/path/to/tim-vx/prebuilt-sdk/x86_64_linux
- LD_LIBRARY_PATH=$TIM_VX_DIR/lib:$VIVANTE_SDK_DIR/lib
Attention: The TIM_VX_DIR path should include lib and header files of TIM-VX. You can refer TIM-VX to build TIM-VX.
When you need generate nbg, please use OvxlibExporter class and set the export() function's param pack_nbg_only=True. Such as: OvxlibExporter(model).export(pack_nbg_only=True), it will use our default SDK. If you want to use your own SDK and licence, please set the "viv_sdk" and "licence" params of export() function. Such as: OvxlibExporter(model).export(pack_nbg_only=True, viv_sdk=your_sdk_path, licence=path_of_licence_txt)
Attention: your sdk directory structure must strictly follow the directory structure of acuitylib/vsi_sdk!!! your sdk need satisfy the structure of "your_sdk_path/prebuilt-sdk/x86_64_linux", otherwise the path may have problems. The content of licence is the device target which you want to use.
Create issue on github or email to ML_Support@verisilicon.com