/daisykit

Toolkit for software engineers to Deploy AI Systems Yourself (DAISY). Cross-platform, customizable AI framework for iOS, Android, and embedded devices.

Primary LanguageC++Apache License 2.0Apache-2.0

Daisykit - D.A.I.S.Y: Deploy AI Systems Yourself!

PyPI docs license open issues Pypi Downloads

Daisykit is an easy AI toolkit for software engineers to integrate pretrained AI models and pipelines into their projects. You DON'T need to be an AI engineer to build AI software. This open source project includes:

  • Daisykit SDK - C++, the core of models and algorithms in NCNN deep learning framework.
  • Daisykit Python wrapper for easy integration with Python.
  • Daisykit Android - Example app demonstrate how to use Daisykit SDK in Android.

Links:

Daisykit.Development.Demo.21112021_360p.mp4

Demo Video: https://www.youtube.com/watch?v=zKP8sgGoFMc.

1. Environment Setup

Ubuntu

Install packages from Terminal

sudo apt install -y build-essential libopencv-dev
sudo apt install -y libvulkan-dev vulkan-utils
sudo apt install -y mesa-vulkan-drivers # For Intel GPU support

Windows

For Windows, Visual Studio 2019 + Git Bash is recommended.

2. Build and run C++ examples

Clone the source code:

git clone https://github.com/DaisyLabSolutions/daisykit.git --recursive
cd daisykit

Ubuntu

Build Daisykit:

mkdir build
cd build
cmake .. -Dncnn_FIND_PATH="<path to ncnn lib>"
make

Run face detection example:

./bin/demo_face_detector_graph

If you dont specify ncnn_FIND_PATH, NCNN will be built from scratch.

Windows

Build Daisykit:

mkdir build
cd build
cmake -G "Visual Studio 16 2019" -Dncnn_FIND_PATH="<path to ncnn lib>" ..
cmake --build . --config Release

Run face detection example:

./bin/Release/demo_face_detector_graph

3. C++ Coding convention

Read coding convention and contribution guidelines here.

4. Known issues and problems

  • Slow model inference - Low FPS

This issue can happen on development build. Add -DCMAKE_BUILD_TYPE=Debug to cmake command and build again. The FPS can be much better.

5. References

This toolkit is developed on top of other source code. Including