Skip to content
mmby85Public
forked from dstackai/dstack

About

dstack is an open-source tool for managing dev environments and automating ML tasks on any cloud. dstack supports all major cloud providers, including AWS, GCP, and Azure.

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

Cost-effective ML development in the cloud

Docs • Examples • Blog • Slack

Last commit PyPI - License

dstack makes it very easy for ML teams to automate running dev environments and tasks in their cloud.

Installation and setup

To use dstack, install it with pip and start the Hub application.

pip install "dstack[aws,gcp,azure]"
dstack start

The server will set up a default project to run dev environments and tasks locally. To run dev environments and tasks in the cloud, log into the UI, create the corresponding project, and configure the CLI to use it.

Configurations

A configuration is a YAML file that describes what you want to run.

Note: All configuration files must be named with the suffix .dstack.yml. For example, you can name the configuration file .dstack.yml or app.dstack.yml. You can define these configurations anywhere within your project.

Configurations can be of two types: dev-environment and task.

Below is a configuration that runs a dev environment with a pre-built environment to which you can connect via VS Code Desktop.

type: dev-environment
ide: vscode

Here's an example of a task configuration. A task can be either a batch job, such as training or fine-tuning a model, or a web application.

type: task
ports:
  - 7860
commands:
  - pip install -r requirements.txt
  - gradio app.py

CLI

To run a configuration, use the dstack run command and pass the path to the directory with the configuration.

$ dstack run . 

 RUN          CONFIGURATION  USER   PROJECT  INSTANCE  RESOURCES        SPOT
 fast-moth-1  .dstack.yml    admin  local    -         5xCPUs, 15987MB  auto  

Starting SSH tunnel...

To open in VS Code Desktop, use this link:
  vscode://vscode-remote/ssh-remote+fast-moth-1/workflow

To exit, press Ctrl+C.

The CLI automatically provisions the required cloud resources and forwards the ports to your local machine. If you interrupt the run, the cloud resources will be released automatically.

Profiles

The .dstack/profiles.yml file allows to describe multiple profiles. ach profile can configure the project to use and the resources required for the run.

profiles:
  - name: gpu-large
    project: gcp
    resources:
       memory: 48GB
       gpu:
         memory: 24GB
    default: true

If you have configured the default profile, the dstack run command will use it automatically. Otherwise, you can always specify the profile using --profile PROFILE.

More information

For additional information and examples, see the following links:

Licence

Mozilla Public License 2.0

About

dstack is an open-source tool for managing dev environments and automating ML tasks on any cloud. dstack supports all major cloud providers, including AWS, GCP, and Azure.

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages