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.

Contributions

I'd be glad to see your contributions!

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.27.post1.tar.gz (117.1 kB view details)

Uploaded Source

Built Distribution

omniopt2-2024.11.27.post1-py3-none-any.whl (263.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: omniopt2-2024.11.27.post1.tar.gz
  • Upload date:
  • Size: 117.1 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.27.post1.tar.gz
Algorithm Hash digest
SHA256 9d1131db0c25d245e48a71dda911875b37c0f741aa4f6d81f989544344ab53a4
MD5 1a982d37b11fd7eece0c0e912dedb85e
BLAKE2b-256 1455cb11a3af7764e798e8251262bf914e41efcc24bc726d4f450919bb814fd5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for omniopt2-2024.11.27.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 5c453731297f8a2b3842803f7b3cfb97badd222a4582128fd1ac423beb18f48b
MD5 14815e68c0b194da3c6ae749428e8b87
BLAKE2b-256 7065c71f478e17a5e888a9dcd326e9ca76181706d88985c79b82f3fec89fc7b6

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