Skip to main content

A cloud-agnostic ML Platform

Project description

hydra

A cloud-agnostic Machine Learning Platform that will enable Data Scientists to run multiple experiments, perform hyper parameter optimization, evaluate results and serve models (batch/realtime) while still maintaining a uniform development UX across cloud environments

Installation

To install Hydra using PyPI, run the following command

$ pip install hydra-ml

To install Hydra using GitHub source, first clone Hydra using git :

$ git clone https://github.com/georgianpartners/hydra

Then in the hydra repository that you cloned, run

$ python setup.py install

Check the current hydra version by running

$ hydra --version

Documentation

Prerequisites

  1. Github Token generation
    $ export GITHUB_TOKEN=<Fill your github token here>
    
  2. Setting up your Cloud's CLI tool locally

Getting started


hydra

Entrypoint for Hydra CLI

hydra [flags]

Examples
$ hydra --version
$ hydra --help
Options
  --version  Show hydra version
  --help     Show usage guide

hydra train

Submit a training job to the selected cloud platform. You need to run this from inside a git hosted repository that contains your model code and a conda yaml file environment.yml . The command takes a number of options to tailor your training job. These options can also be provided via a yaml file

hydra train [flags]

Examples
$ hydra train -m catboost_model.py --cloud gcp --cpu_count 8 --memory_size 20
$ hydra train -m catboost_model.py --cloud gcp --cpu_count 8 --memory_size 20 --options '{"iterations": 100, "depth": 20}'
$ hydra train -y catboost_model_configs.yaml

catboost_model_configs.yaml looks like this :

train:
  model_path: 'catboost_model.py'
  cloud: "gcp"
  cpu_count: 8
  memory_size: 16
  gpu_count: 1
  gpu_type: 'NVIDIA_TESLA_P4'
  region: 'us-west2'
  image_tag: 'batch'
  options:
    - project_name: "hydra-gcp-test-291317-aiplatform"
      bucket_name: "hydra-gcp-test-291317-aiplatform"
      blob_path: "hmnist/hmnist_64_64_L.csv"
      batch_size: 1
      epoch: 5
    - project_name: "hydra-gcp-test-291317-aiplatform"
      bucket_name: "hydra-gcp-test-291317-aiplatform"
      blob_path: "hmnist/hmnist_64_64_L.csv"
      batch_size: [1, 2, 3]
      epoch: [1, 2, 3]
Options
  -y, --yaml_path TEXT            Path to YAML file that contains preset options
  -m, --model_path TEXT           Path to file containing model code
  --cloud [fast_local|local|aws|gcp|azure]
  --github_token TEXT
  --cpu_count INTEGER RANGE       Number of CPU cores required
  --memory_size INTEGER RANGE     GB of RAM required
  --gpu_count INTEGER RANGE       Number of accelerator GPUs
  --gpu_type TEXT                 Accelerator GPU type
  --region TEXT                   Region of cloud server location
  -t, --image_tag TEXT            Docker image tag name
  -u, --image_url TEXT            Url to the docker image on cloud
  -o, --options TEXT              Environmental variables for the script

Options inherited from parent commands
  --help   Show usage guide for command

Infrastructure as Code


To get an overview of the infrastructure as code, please review the associated Wiki page.

Project details


Download files

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

Source Distribution

hydra-ml-0.3.9.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

hydra_ml-0.3.9-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file hydra-ml-0.3.9.tar.gz.

File metadata

  • Download URL: hydra-ml-0.3.9.tar.gz
  • Upload date:
  • Size: 13.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for hydra-ml-0.3.9.tar.gz
Algorithm Hash digest
SHA256 227933b558e66ca81177693ed977fe8e94f0dc7ff6648bc7dfd6cf7e115b7e3d
MD5 026ecd5cdc4630e0d2e9b24f86c3c1ab
BLAKE2b-256 5d0036076762424ac4ce9a22a6b4d262873ae940ce5d904fb8fb579c1619668b

See more details on using hashes here.

File details

Details for the file hydra_ml-0.3.9-py3-none-any.whl.

File metadata

  • Download URL: hydra_ml-0.3.9-py3-none-any.whl
  • Upload date:
  • Size: 20.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for hydra_ml-0.3.9-py3-none-any.whl
Algorithm Hash digest
SHA256 88a30ce72804dbb6f707fe37ac435f7b475657bfbf0c03cfa4db05f4588f8dd1
MD5 345566d6d0580d9b10dfe8e92687014c
BLAKE2b-256 56d04e6c88607eceb929e3cad1ffb96085c32f64af5acecb35ee2be74e7ae6be

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