determined-ai / determined

Determined is an open-source machine learning platform that simplifies distributed training, hyperparameter tuning, experiment tracking, and resource management. Works with PyTorch and TensorFlow.
https://determined.ai
Apache License 2.0
2.93k stars 347 forks source link
data-science deep-learning distributed-training hyperparameter-optimization hyperparameter-search hyperparameter-tuning keras kubernetes machine-learning ml-infrastructure ml-platform mlops pytorch tensorflow

Determined AI Logo

Determined is an all-in-one deep learning platform, compatible with PyTorch and TensorFlow.

It takes care of:


Features gif

How Determined Works

The main components of Determined are the Python library, the command line interface (CLI), and the Web UI.

Python Library

Use the Python library to make your existing PyTorch or Tensorflow code compatible with Determined.

You can do this by organizing your code into one of the class-based APIs:

from determined.pytorch import PyTorchTrial

class YourExperiment(PyTorchTrial):
  def __init__(self, context):
    ...

Or by using just the functions you want, via the Core API:

import determined as det

with det.core.init() as core_context:
    ...

Command Line Interface (CLI)

You can use the CLI to:

det deploy local cluster-up
det deploy aws up
det experiment create gpt.yaml .

Configure everything from distributed training to hyperparameter tuning using YAML files:

resources:
  slots_per_trial: 8
  priority: 1
hyperparameters:
  learning_rate:
    type: double
    minval: .0001
    maxval: 1.0
searcher:
  name: adaptive_asha
  metric: validation_loss
  smaller_is_better: true

Web UI

Use the Web UI to view loss curves, hyperparameter plots, code and configuration snapshots, model registries, cluster utilization, debugging logs, performance profiling reports, and more.

Web UI

Installation

To install the CLI:

pip install determined

Then use det deploy to start the Determined cluster locally, or on cloud services like AWS and GCP.

For installation details, visit the the cluster deployment guide for your environment:

Examples

Get familiar with Determined by exploring the 30+ examples in the examples folder and the determined-examples repo.

Documentation

Community

If you need help, want to file a bug report, or just want to keep up-to-date with the latest news about Determined, please join the Determined community!

Contributing

Contributor's Guide

License

Apache V2