/torchx

TorchX is a library containing standard DSLs for authoring and running PyTorch related components for an E2E production ML pipeline

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

PyPI License Tests Lint codecov

TorchX

TorchX is a universal job launcher for PyTorch applications. TorchX is designed to have fast iteration time for training/research and support for E2E production ML pipelines when you're ready.

TorchX currently supports:

  • Kubernetes (EKS, GKE, AKS, etc)
  • Slurm
  • AWS Batch
  • Docker
  • Local
  • Ray (prototype)

Need a scheduler not listed? Let us know!

Quickstart

See the quickstart guide.

Documentation

Requirements

torchx:

  • python3 (3.8+)
  • PyTorch
  • optional: Docker (needed for docker based schedulers)

Certain schedulers may require scheduler specific requirements. See installation for info.

Installation

Stable

# install torchx sdk and CLI -- minimum dependencies
pip install torchx

# install torchx sdk and CLI -- all dependencies
pip install "torchx[dev]"

# install torchx kubeflow pipelines (kfp) support
pip install "torchx[kfp]"

# install torchx Kubernetes / Volcano support
pip install "torchx[kubernetes]"

# install torchx Ray support
pip install "torchx[ray]"

Nightly

# install torchx sdk and CLI
pip install torchx-nightly[dev]

Source

# install torchx sdk and CLI from source
$ pip install -e git+https://github.com/pytorch/torchx.git#egg=torchx

# install extra dependencies
$ pip install -e git+https://github.com/pytorch/torchx.git#egg=torchx[dev]

Docker

TorchX provides a docker container for using as as part of a TorchX role.

See: https://github.com/pytorch/torchx/pkgs/container/torchx

Contributing

We welcome PRs! See the CONTRIBUTING file.

License

TorchX is BSD licensed, as found in the LICENSE file.