AIDevelopementToolkit

AIDevelopementToolkit provides a production-ready utility suite for AI development workflows. The package is designed to help teams standardize logging, experiment tracking, preprocessing, PyTorch model management, ONNX export, and distributed training.

Why AIDevelopementToolkit?

  • Purpose-built for PyTorch-based research and engineering workflows.
  • Shared utilities for logging, MLflow integration, data preparation, and model lifecycle management.
  • Designed to keep examples in examples/ while documentation stays concise and easy to navigate.
  • Supports single-GPU, multi-GPU single-node, and multi-node distributed training patterns.

Core Package Areas

  • logging_utils: formatted logger configuration, MLflow experiment helpers and file I/O for JSON/YAML/CSV (also supporting S3 buckets!)
  • data_utils: preprocessing functions, classification and clustering metrics.
  • torch_utils: checkpoint saving/loading, ONNX export and runtime validation, early stopping class and distributed PyTorch DataParallel utilities.
  • general_utils: deterministic seed setting.

Installation

pip install aidevelopementtoolkit

Or install from source:

git clone https://github.com/DanieleBertagnoli/AIDevelopementToolkit.git
cd AIDevelopementToolkit
pip install -e .

Examples and Documentation

Real usage examples are kept in the examples/ folder. The script examples/mnist_training.py contains a full example on how the package shall be used.

This includes examples/run_distributed.sh, which shows commands for:

  • single GPU on a single node,
  • multiple GPUs on a single node,
  • multiple GPUs across multiple nodes.

For full API documentation, visit the generated site:

https://DanieleBertagnoli.github.io/AIDevelopementToolkit/

Getting Started

Import the package in your Python code and use the example scripts for integration patterns. The docs focus on package scope and purpose, while examples/ provides runnable workflows.