AIQC

AIQC

End-to-end deep learning on your desktop or server.

Stars: 104

Visit
 screenshot

AIQC is an open source Python package that provides a declarative API for end-to-end MLOps in order to make deep learning more accessible to researchers. It utilizes a SQLite object-relational model for machine learning objects and stacks standardized workflows for various analyses, data types, and libraries. The benefits include a 90% reduction in data wrangling, reproducibility, and no need to install and maintain application and database servers for experiment tracking. AIQC is pip-installable and provides a Dash-Plotly UI for real-time experiment tracking.

README:

PyPI version docs status License

📚  Documentation

framework

Technical Overview

What is it?

AIQC is an open source Python package that provides a declarative API for end-to-end MLOps (dataset registration, preprocessing, experiment tracking, model evaluation, inference, post-processing, etc) in order to make deep learning more accessible to researchers.

How does it work?

The backend is a SQLite object-relational model (ORM) for machine learning objects (Dataset, Feature, Label, Splits, Algorithm, Job, etc). The high-level API stacks these building blocks into standardized workflows for various: analyses (classify, regress, generate), data types (tabular, sequence, image), and libraries (TensorFlow, PyTorch). The benefits of this approach are:

  1. ⏱️  90% reduction in data wrangling via automation of highly conditional and repetitive tasks that vary for each type of dataset and analysis (e.g. model evaluation, metrics, and charts for every split of every model).
  2. 💾  Reproducibility, not only because the workflow is persisted (e.g. encoder metadata) but also because it provides standardized classes as opposed to open-ended scripting (e.g. 'X_train, y_test').
  3. 🎛️  No need to install and maintain application and database servers for experiment tracking. SQLite is just a highly-performant and portable file that is automatically configured by `aiqc.setup()`. AIQC is just a pip-installable Python package that works great in Jupyter (or any IDE/shell), and provides a Dash-Plotly user interface (UI) for a real-time experiment tracking.

What's on the roadmap?

  1. 🖥️   Expand the UI (e.g. dataset registration and model design) to make it even more approachable for less technical users.
  2. ☁️  Schedule parallel training of models in the cloud.

📚  Documentation

Experiment Tracker

experiment_tracker

Compare Models

compare_models

What if?

compare_models

Usage

# Built on Python 3.7.12 to mirror Google Colab
$ pip install --upgrade pip
$ pip install --upgrade wheel
$ pip install --upgrade aiqc

# Monitor and evaluate models (from CLI)
$ python -m aiqc.ui.app
# High-level API
from aiqc import mlops

# Declare preprocessing steps
mlops.Pipeline()

# Define, train, & evaluate models
mlops.Experiment().run_jobs()

# Infer using original Pipeline
mlops.Inference()

Official Installation Documentation:

https://aiqc.readthedocs.io/en/latest/notebooks/installation.html

📚  Documentation

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for AIQC

Similar Open Source Tools

For similar tasks

For similar jobs