Git Product home page Git Product logo

Ai4prod 👋

Ai4prod is the first ecosystem built for offering an end-to-end solution to handle AI project in production environment using C++

The core design Principles of Ai4prod are:

  • Easy Integration

  • Easy Customization

  • Works on different Hardware and operating systems (Windows,Linux,Jetson)

  • Make coding workflow standard for code maintainability

  • C++ ready

Ai4prod is built for

  • Newbie Machine Learning Engineers, who feel lost on how to bring Ai project in production.

  • Experienced Machine Learning Engineers, who are looking for an easy way to use their custom model with C++ in production.

Who developed Ai4prod?

Ai4Prod is maintaned by a team of Machine Learning engineers, that everyday, are trying to bring and maintain Machine Learning project in production using C++

Why Ai4Prod is different?

Ai4prod is offering you the entire pipeline from training to inference. So learning how to use Ai4Prod gives you the ability to deliver real value with AI.

Ai4prod is fully tested, so you don't need to worry about code compatibiity, accuracy between different libraries version. We handle all for you.

We developed ai4prod with the idea to simplify the entire pipeline in a machine learning project. As a machine learning engineers, we know that make something works in Ai project is not simple.

We built ai4prod to help us to crete real value in a production environment, so we hope that could also help you.

Ai4prod is developed following our experience in production, if you think that something is missing or could be helpfull drop us an email ai [email protected] or open a thread on github.

We are always open to collaboration.

Medium Article https://ai4prod.medium.com/ai4prod-the-first-ecosystem-to-bring-ai-to-production-in-c-8abb0d2f9424

Getting Started

Ai4prod is built to be as easy as possible to get started. You can reach our website at the following link https://www.ai4prod.ai/, where you can find all the documentation. Here you can find a quick guide.

Prerequisites

  1. For all platforms you need to install cuda and cudnn, IF you want to use GPU acceleration. If you are not familiar on how to install we create a guide https://www.ai4prod.ai/docs/error/tip-tricks/install-cuda-with-cuda-toolkit/
  2. You need to install CMake >3.13 to compile ai4prod. If you don't know how to do, follow our guide https://www.ai4prod.ai/docs/getting-started/. Choose your operating system

Install dependencies

We provide installation script for bot Windows and Linux

You can download manually from this link. Please choose you operatiing system and use always lastest release.

https://drive.google.com/drive/folders/1B4lXyGM2IQmj6IHFThwlJRqnMGQoTjNq?usp=sharing

STEP 1

Windows

./installWin.bat --cuda 11.0

Linux

./install.sh --cuda 10.2 --cmake 
  • -- cmake is optional. Will install cmake 3.14 and override previous version

STEP 2

Compile the project with Cmake

Linux

$ mkdir build
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX= {your_install_folder} -DEXECUTION_PROVIDER=tensorrt|cpu -DCMAKE_BUILD_TYPE=Release ..
$ make -j10
$ make install 

For a complete tutorial have a look here https://www.ai4prod.ai/docs/getting-started/build-for-linux/

Windows

For a complete tutorial have a look here https://www.ai4prod.ai/docs/getting-started/build-for-windows/

Jetson

For a complete tutorial have a look here

https://www.ai4prod.ai/docs/getting-started/build-for-jetson/

Tutorial

We create different tutorials to let you start developing with Ai4Prod on your custom project. All examples are available in the example folder. Before run any example you need to download the related .onnx model.

Models

from this link https://drive.google.com/drive/folders/1a8m6Ek8qH7eKg8W9CdGQJ3_qeCeYx026?usp=sharing

Prerequisite

You need to install Ai4Prod first.

Classification

https://www.ai4prod.ai/docs/tutorial/resnet50/

Object Detection

https://www.ai4prod.ai/docs/tutorial/yolo

Instance Segmentation

https://www.ai4prod.ai/docs/tutorial/yolact/

Pose Estimation

https://www.ai4prod.ai/docs/tutorial/hrnet/

Results

Inference Time

Result are FPS on 1000 iterations

Model GPU/Backend CPU FP32 FP 16 OS
yolov3spp-608 2070/Tensorrt 0.9 42,54 125,13 Ubuntu 18.04
yolov4-608 2070/Tensorrt 41,66 124,96 Ubuntu 18.04
yolov3spp-608 2070/Tensorrt 41,23 115,23 Win 10
yolov3spp-608 XavierNX 5.18 18.86 Jetpack 4.4
yoalact-resnet50 2070/Tensorrt 2.8 37,03 102,04 ubuntu 18.04
resnet50 2070/Tensorrt 14 320,43 667,63 Win 10
resnet50-base Xavier NX 50,96 83,74 Jetpack 4.4

Accuracy

Model Dataset Metrics Backend FP32 FP16 OS
yolov3-spp-base-608 Coco 2017 MAP(AP50) Tensorrt 66.1 66.1 ubuntu 18.04
yolov4-608 Coco 2017 MAP(AP50) Tensorrt 72.3 72.3 ubuntu 18.04
yolov3-spp-base-608 Coco 2017 MAP(AP50) Tensorrt 66.1 66.1 Windows 10
yolov3-spp-base-608 Coco 2017 MAP(AP50) Tensorrt 65.1 65.2 Jetson Xavier
resnet50-base Imagenet 2012 Accuracy Tensorrt 75%-92% 74%-92% ubuntu 18.04
resnet50-base Imagenet 2012 Accuracy Tensorrt 75%-92% 74%-92% Windows 10
yolact-resnet50-550 Coco 2017 MAP(AP50) Tensorrt 42.1 41.9 ubuntu 18.04
yolact-resnet50-550 Coco 2017 MAP(AP50) Tensorrt 42.1 41.9 Windows 10
yolact-resnet50-550 Coco 2017 MAP(AP50) Tensorrt 36.1 Jetson Xavier

Troubleshooting

If you encounter some problems you can open an issue on github or send us an email

ai4prod's Projects

anomalib icon anomalib

An anomaly detection library comprising state-of-the-art algorithms and features such as experiment management, hyper-parameter optimization, and edge inference.

deps icon deps

Repository to handle ai4prod deps libraries

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.