Skip to main content

Automatic hyperparameter optimizer based on Ax/Botorch

Project description

OmniOpt - Hyperparameter Optimizer for SLURM-based Systems

Current build status Latest Release Open Issues

Open Pull Requests License Bug Issues

GitHub Repo stars Pull Requests Stars

Forks Contributors Last Commit

Coverage Status

OmniOpt is a tool designed to assist researchers, engineers, and data scientists with hyperparameter optimization on SLURM-based clusters. It simplifies large-scale optimization tasks with built-in fault tolerance and flexibility. A graphical user interface (GUI) is available for command creation, accessible at OmniOpt GUI. For tutorials on configuration, exit codes, and debugging, visit OmniOpt Tutorials.

Main program

./omniopt --partition=alpha --experiment_name=example --mem_gb=1 --time=60 \
    --worker_timeout=60 --max_eval=500 --num_parallel_jobs=500 --gpus=1 \
    --follow --run_program=ZWNobyAiUkVTVUxUOiAlKHBhcmFtKSI= \
    --parameter param range 0 1000 float

This command initiates OmniOpt and installs dependencies if not already installed. The parameter --run_program uses a Base64-encoded string to specify commands.

Plot Results

Generates visualizations, such as scatter and hex scatter plots. --min and --max adjust the plotted result value range.

Or, with --min and --max:

./plot --run_dir runs/example/0
./plot --run_dir runs/example/0 --min 0 --max 100

Run Tests (Developer Use Only)

The test suite simulates various scenarios, including handling faulty jobs and ensuring program resilience.

./tests/main_tests

Install from pypi

pip3 install omniopt2

Install from repo

pip3 install -e git+https://github.com/NormanTUD/OmniOpt2.git#egg=OmniOpt2

Alternatively, it can be executed directly, as OmniOpt will install its dependencies automatically if required.

Error Codes

For common issues and exit codes, see the exit codes tutorial.

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

omniopt2-2024.11.4.post1.tar.gz (112.9 kB view details)

Uploaded Source

Built Distribution

omniopt2-2024.11.4.post1-py3-none-any.whl (254.6 kB view details)

Uploaded Python 3

File details

Details for the file omniopt2-2024.11.4.post1.tar.gz.

File metadata

  • Download URL: omniopt2-2024.11.4.post1.tar.gz
  • Upload date:
  • Size: 112.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for omniopt2-2024.11.4.post1.tar.gz
Algorithm Hash digest
SHA256 3199aeba649e3be675c926595033386d6ceb156323c44d5ac208b47aaa142075
MD5 ddbf3c0bb7baafbde1625e67af865877
BLAKE2b-256 6d9b52bb47d5780d5c7431002aa0201d0f411a77733c67e457ac26244d819282

See more details on using hashes here.

File details

Details for the file omniopt2-2024.11.4.post1-py3-none-any.whl.

File metadata

File hashes

Hashes for omniopt2-2024.11.4.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 28be1287e9e7ad8e362a4f723941db8be25d3fca1aacdcbcac56d2b5d0b9e4b8
MD5 4acb753ce21d578301aec48d2ce78faf
BLAKE2b-256 34d99edd0d1523a9eb9ddfa960ca3292eef93edf70beacbd0f4609e67671a06e

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