Skip to content
View aiqc's full-sized avatar
Block or Report

Block or report aiqc

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
aiqc/README.md

PyPI version docs status License




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.





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



Popular repositories

  1. AIQC AIQC Public

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

    Python 103 21

  2. TCGA_Liver TCGA_Liver Public

    Jupyter Notebook