Skip to main content

The hassle-free tool for managing ML workflows on any cloud platform.

Project description

dstack

Automate your ML workflows on any cloud

The hassle-free tool for managing ML workflows on any cloud platform.

Slack

DocsQuick startPlaygroundSetupUsageExamples

Last commit PyPI - License

What is dstack?

dstack is an open-source tool that automates ML workflows, enabling effective management on any cloud platform.

It empowers your team to prepare data, train, and fine-tune models using their preferred frameworks and dev environments without spending time on engineering and infrastructure.

Install the CLI

Use pip to install dstack:

pip install dstack

Configure a remote

By default, workflows run locally. To run workflows remotely (e.g. in a configured cloud account), configure a remote using the dstack config command.

dstack config

? Choose backend. Use arrows to move, type to filter
> [aws]
  [gcp]
  [hub]

Choose hub if you prefer managing cloud credentials and settings through a user interface while working in a team.

For running remote workflows with local cloud credentials, select aws or gcp.

Define workflows

Define ML workflows, their output artifacts, hardware requirements, and dependencies via YAML.

workflows:
  - name: train-mnist
    provider: bash
    commands:
      - pip install torchvision pytorch-lightning tensorboard
      - python examples/mnist/train_mnist.py
    artifacts:
      - path: ./lightning_logs

Run locally

By default, workflows run locally on your machine.

dstack run train-mnist

RUN        WORKFLOW     SUBMITTED  STATUS     TAG  BACKENDS
penguin-1  train-mnist  now        Submitted       local

Provisioning... It may take up to a minute. ✓

To interrupt, press Ctrl+C.

GPU available: True, used: True

Epoch 1: [00:03<00:00, 280.17it/s, loss=1.35, v_num=0]

Run remotely

To run a workflow remotely (e.g. in a configured cloud account), add the --remote flag to the dstack run command:

The necessary hardware resources can be configured either via YAML or through arguments in the dstack run command, such as --gpu and --gpu-name.

dstack run train-mnist --remote --gpu 1

RUN       WORKFLOW     SUBMITTED  STATUS     TAG  BACKENDS
turtle-1  train-mnist  now        Submitted       aws

Provisioning... It may take up to a minute. ✓

To interrupt, press Ctrl+C.

GPU available: True, used: True

Epoch 1: [00:03<00:00, 280.17it/s, loss=1.35, v_num=0]

Upon running a workflow remotely, dstack automatically creates resources in the configured cloud account and destroys them once the workflow is complete.

Providers

dstack supports multiple providers to set up environments, run scripts, and launch interactive development environments and applications.

Artifacts

dstack allows you to save output artifacts and conveniently reuse them across workflows.

More information

For additional information and examples, see the following links:

Licence

Mozilla Public License 2.0

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

dstack-0.7rc1.tar.gz (116.5 kB view details)

Uploaded Source

Built Distribution

dstack-0.7rc1-py3-none-any.whl (13.6 MB view details)

Uploaded Python 3

File details

Details for the file dstack-0.7rc1.tar.gz.

File metadata

  • Download URL: dstack-0.7rc1.tar.gz
  • Upload date:
  • Size: 116.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for dstack-0.7rc1.tar.gz
Algorithm Hash digest
SHA256 42b883c665f51d2f73355215f61e9a7f7a0b1d628f5220aedf75164d06a7286f
MD5 3c499dfc5a8491682fa46554da963371
BLAKE2b-256 085c761124343e4ea0fc0572537a0aebf4af7d60a318d1b370a3229bd2655f52

See more details on using hashes here.

File details

Details for the file dstack-0.7rc1-py3-none-any.whl.

File metadata

  • Download URL: dstack-0.7rc1-py3-none-any.whl
  • Upload date:
  • Size: 13.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for dstack-0.7rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 e16a2cd8f147369748bf48b590fbd9b8e365e27b823256c676a28cfaa4b73e68
MD5 52726d7aacc3b80a32acc8cadd09643d
BLAKE2b-256 2157adde9e78814bb308e1bf4f0d73e8b90d8ca3191bf05b6a1101e79fd21e1e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page