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
- Github Token generation
- Follow this guide : https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token
- Add token to your enviroment variable by running
$ export GITHUB_TOKEN=<Fill your github token here>
- 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
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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 227933b558e66ca81177693ed977fe8e94f0dc7ff6648bc7dfd6cf7e115b7e3d |
|
MD5 | 026ecd5cdc4630e0d2e9b24f86c3c1ab |
|
BLAKE2b-256 | 5d0036076762424ac4ce9a22a6b4d262873ae940ce5d904fb8fb579c1619668b |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88a30ce72804dbb6f707fe37ac435f7b475657bfbf0c03cfa4db05f4588f8dd1 |
|
MD5 | 345566d6d0580d9b10dfe8e92687014c |
|
BLAKE2b-256 | 56d04e6c88607eceb929e3cad1ffb96085c32f64af5acecb35ee2be74e7ae6be |