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

Uploaded Source

Built Distribution

omniopt2-2024.11.26.post1-py3-none-any.whl (256.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: omniopt2-2024.11.26.post1.tar.gz
  • Upload date:
  • Size: 114.0 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.26.post1.tar.gz
Algorithm Hash digest
SHA256 504e5c56bc7f8f5f858a7824d153bb391328bea5a3a4b3e0b01e0e966f82e1ac
MD5 c3554b1cb9c6175f563439f5290b51cc
BLAKE2b-256 cc488585f7112b387a7142a6c7a95bab33adbe777bc1be33477c51f1cc8d6a74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for omniopt2-2024.11.26.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 96ded50d2b732d1f1e2356f774ba7d299ddb1f3bafcd15c7ed353afd9f93c280
MD5 d007c44b269c916e148c42bebfbb8a68
BLAKE2b-256 21c554af82b353f09bf9b74643deb06c74c1f9c5c28245e8237c8a3e301f07bf

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