Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

ABLATOR

A distributed experiment execution framework for ablation studies. ABLATOR provides a wrapper for your model and a Trainer class for you to prototype on your method and scale to thousands of experimental trials with 1 code change.

Ablation studies are experiments used to identify the causal effects on a method performance. For example, does your novel layer really improve performance?

What are Ablators?

Ablators are materials that are depleted during operation (NASA). An experimental ABLATOR should not interfere with the experimental result.

Why ABLATOR?

  1. Strictly typed configuration system prevents errors.
  2. Seamless prototyping to production
  3. Stateful experiment design. Stop, Resume, Share your experiments
  4. Automated analysis artifacts
  5. Template Training

What is the difference with using xxx

Comparison table with existing framework:

Framework HPO Configuration Training Tuning Analysis
Ray :white_check_mark: :x: :x: :white_check_mark: :x:
Lighting :x: :x: :white_check_mark: :x: :x:
Optuna :white_check_mark: :x: :x: :x: :white_check_mark:
Hydra :x: :white_check_mark: :x: :x: :x:
ABLATOR :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:

Features compared, hyperparameter selection (HPO), removing boilerplate code for configuring experiments (Configuration), removing boiler plate code for running experiments at scale (Tuning) and performing analysis on the hyperparameter selection (Analysis).

Using:

  1. Ray: You will need to write boiler-plate code for integrating with a configuration system (i.e. Hydra), saving experiments artifacts or logging (i.e. integrate with Wandb).

  2. Lighting: You will need to write boiler-plate code for HPO (i.e. using Optuna), Configuring experiments (i.e. Hydra) and horizontal distributed execution (i.e. integrate with Ray)

  3. Hydra: The configuration system is not strongly typed (ABLATOR), and does not provide support for common ML use-cases where configuration attributes are Derived (inferred during run-time) or Stateless (change between trials). Additionally, ABLATOR provides support for custom objects that are dynamically inferred and initialized during execution.

  4. ABLATOR: Combines Ray back-end, with Optuna for HPO and removes boiler-plate code for fault tollerant strategies, training, and analyzing the results.

Integrating different tools, for distributed execution, fault tollerance, training, checkpointing and analysis is error prone! Poor compatibility between tools, verisioning errors will lead to errors in your analysis.

You can use ABLATOR with any other library i.e. PyTorch Lighting. Just wrap a Lighting model with ModelWrapper. For examples please look examples

Spend more time in the creative process of ML research and less time on dev-ops.

Pre-Release - Phase

The library is under active development and a lot of the API endpoints will be removed / renamed or their functionality changed without notice.

Install

Use a python virtual enviroment to avoid version conflicts.

pip install git+https://github.com/fostiropoulos/ablator.git

For Development

  1. git clone git@github.com:fostiropoulos/ablator.git
  2. cd ablator
  3. pip install -e .[dev]

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ablator-0.0.1b2.tar.gz (82.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ablator-0.0.1b2-py3-none-any.whl (95.8 kB view details)

Uploaded Python 3

File details

Details for the file ablator-0.0.1b2.tar.gz.

File metadata

  • Download URL: ablator-0.0.1b2.tar.gz
  • Upload date:
  • Size: 82.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for ablator-0.0.1b2.tar.gz
Algorithm Hash digest
SHA256 3ffa2b9cc766fb2c152ffd12f853e471ee1762b250bab3d78a94d05de1594574
MD5 0badc2ea8ed50a23164e0ed1b79893d3
BLAKE2b-256 8b2ce3ff04ae4b88943c5830cca30b9d098562c4b3f12c5af8bb0aa26e3e21dd

See more details on using hashes here.

File details

Details for the file ablator-0.0.1b2-py3-none-any.whl.

File metadata

  • Download URL: ablator-0.0.1b2-py3-none-any.whl
  • Upload date:
  • Size: 95.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for ablator-0.0.1b2-py3-none-any.whl
Algorithm Hash digest
SHA256 986a8a3b1ee152b4794769bb2d89fbb1580f4eb0e5cf5344fbd60b6a94a64b26
MD5 ad6e0980e43688ce41a0a2eccb6a03e5
BLAKE2b-256 e890b4d62fbf2edd111525b8203df0ea812b3294bcb40c3cc56fa07a95137082

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page