# OmniOpt2 - Hyperparameter Optimizer for SLURM-based Systems

OmniOpt2 is a tool designed to assist researchers, engineers, and data
scientists with hyperparameter optimization on SLURM-based clusters, even
though it works without it as well. 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
[OmniOpt2 GUI](https://imageseg.scads.de/omniax/gui). For tutorials on
configuration, exit codes, and debugging, visit
[OmniOpt2 Tutorials](https://imageseg.scads.de/omniax/tutorials).
## Main program
```command
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=$(echo 'echo "RESULT: %(param)"' | base64 -w0) \
--parameter param range 0 1000 float
```
This command initiates OmniOpt2 and installs dependencies if not already
installed. The parameter `--run_program` uses a
[Base64](https://de.wikipedia.org/wiki/Base64)-encoded string to
specify commands. It is recommended to use the
[GUI](https://imageseg.scads.de/omniax/gui), though.
## 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`:
```command
omniopt_plot --run_dir runs/example/0
omniopt_plot --run_dir runs/example/0 --min 0 --max 100
```
## Using live-share
Use `--live_share` (also enablable via GUI) to automatically share the job. You will get a URL
where your job data is hosted publically for 30 days, meaning everyone can access your results,
and you can see all kinds of visualizations and export them.
## Run Tests (Developer Use Only)
The test suite simulates various scenarios, including handling faulty
jobs and ensuring program resilience.
```command
./tests/main
```
See
[the automated tests tutorial page](https://imageseg.scads.de/omniax/tutorials?tutorial=tests)
for more details.
## Install from pypi
This may not use the bleeding-edge version, but if you get the version from here it means, the test suite has completety tested it properly.
```command
pip3 install omniopt2
```
## Install from repo (bleeding edge, may contain untested changes)
```command
pip3 install -e git+https://github.com/NormanTUD/OmniOpt2.git#egg=OmniOpt2
```
Alternatively, it can be executed directly, as OmniOpt2 will install its
dependencies automatically if required.
## Error Codes
For common issues and exit codes, see the
[exit codes tutorial-page](https://imageseg.scads.de/omniax/tutorials?tutorial=exit_codes_and_bash_scripting).
## Autocompletions
Autocomplete files for zsh and bash are in `.shells`. Run
```bash
bash .shells/install
```
to install them.
## Contributions
I'd be glad to see your contributions!
## Issues
If you experience any problems, please write issues at my [Github Issues page](https://github.com/NormanTUD/OmniOpt/issues).
## Old OmniOpt
The old OmniOpt version, based on HyperOpt, is not supported anymore. It is still available, though, at [https://github.com/NormanTUD/LegacyOmniOpt](https://github.com/NormanTUD/LegacyOmniOpt).
Raw data
{
"_id": null,
"home_page": "https://scads.ai/transfer-2/verfuegbare-software-dienste-en/omniopt/",
"name": "omniopt2",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Norman Koch",
"author_email": "norman.koch@tu-dresden.de",
"download_url": "https://files.pythonhosted.org/packages/65/00/64e00fabb9f17a03ac55f5ff536245c1945d67bc708744eb19a3e0ab2fbb/omniopt2-7752.tar.gz",
"platform": "Linux",
"description": "# OmniOpt2 - Hyperparameter Optimizer for SLURM-based Systems\n\n\n\nOmniOpt2 is a tool designed to assist researchers, engineers, and data\nscientists with hyperparameter optimization on SLURM-based clusters, even\nthough it works without it as well. It simplifies large-scale optimization\ntasks with built-in fault tolerance and flexibility. A graphical user interface\n(GUI) is available for command creation, accessible at \n[OmniOpt2 GUI](https://imageseg.scads.de/omniax/gui). For tutorials on \nconfiguration, exit codes, and debugging, visit\n[OmniOpt2 Tutorials](https://imageseg.scads.de/omniax/tutorials).\n\n## Main program\n\n```command\nomniopt --partition=alpha --experiment_name=example --mem_gb=1 --time=60 \\\n --worker_timeout=60 --max_eval=500 --num_parallel_jobs=500 --gpus=1 \\\n --follow --run_program=$(echo 'echo \"RESULT: %(param)\"' | base64 -w0) \\\n --parameter param range 0 1000 float\n```\n\nThis command initiates OmniOpt2 and installs dependencies if not already\ninstalled. The parameter `--run_program` uses a\n[Base64](https://de.wikipedia.org/wiki/Base64)-encoded string to\nspecify commands. It is recommended to use the\n[GUI](https://imageseg.scads.de/omniax/gui), though.\n\n## Plot Results\n\nGenerates visualizations, such as scatter and hex scatter plots.\n`--min` and `--max` adjust the plotted result value range.\n\nOr, with `--min` and `--max`:\n\n```command\nomniopt_plot --run_dir runs/example/0\nomniopt_plot --run_dir runs/example/0 --min 0 --max 100\n```\n\n## Using live-share\n\nUse `--live_share` (also enablable via GUI) to automatically share the job. You will get a URL\nwhere your job data is hosted publically for 30 days, meaning everyone can access your results,\nand you can see all kinds of visualizations and export them.\n\n## Run Tests (Developer Use Only)\n\nThe test suite simulates various scenarios, including handling faulty\njobs and ensuring program resilience.\n\n```command\n./tests/main\n```\n\nSee\n[the automated tests tutorial page](https://imageseg.scads.de/omniax/tutorials?tutorial=tests)\nfor more details.\n\n## Install from pypi\n\nThis may not use the bleeding-edge version, but if you get the version from here it means, the test suite has completety tested it properly.\n\n```command\npip3 install omniopt2\n```\n\n## Install from repo (bleeding edge, may contain untested changes)\n\n```command\npip3 install -e git+https://github.com/NormanTUD/OmniOpt2.git#egg=OmniOpt2\n```\n\nAlternatively, it can be executed directly, as OmniOpt2 will install its\ndependencies automatically if required.\n\n## Error Codes\n\nFor common issues and exit codes, see the\n[exit codes tutorial-page](https://imageseg.scads.de/omniax/tutorials?tutorial=exit_codes_and_bash_scripting).\n\n## Autocompletions\n\nAutocomplete files for zsh and bash are in `.shells`. Run\n\n```bash\nbash .shells/install\n```\n\nto install them.\n\n## Contributions\n\nI'd be glad to see your contributions!\n\n## Issues\n\nIf you experience any problems, please write issues at my [Github Issues page](https://github.com/NormanTUD/OmniOpt/issues).\n\n## Old OmniOpt\n\nThe old OmniOpt version, based on HyperOpt, is not supported anymore. It is still available, though, at [https://github.com/NormanTUD/LegacyOmniOpt](https://github.com/NormanTUD/LegacyOmniOpt).\n",
"bugtrack_url": null,
"license": null,
"summary": "Automatic highly parallelized hyperparameter optimizer based on Ax/Botorch",
"version": "7752",
"project_urls": {
"Homepage": "https://scads.ai/transfer-2/verfuegbare-software-dienste-en/omniopt/"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "c52b6a59c441e18ce5a0824862109386ba1f5143d81d8b3b6d055313f5eee52c",
"md5": "13dcd17e5e56f5198a73c61dac28b4ae",
"sha256": "e01d29ea21c1ce4fe2168f9ad58f25bdbf911a2a1368feb8d1cf9481d05871e6"
},
"downloads": -1,
"filename": "omniopt2-7752-py3-none-any.whl",
"has_sig": false,
"md5_digest": "13dcd17e5e56f5198a73c61dac28b4ae",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 380183,
"upload_time": "2025-07-29T09:40:07",
"upload_time_iso_8601": "2025-07-29T09:40:07.043679Z",
"url": "https://files.pythonhosted.org/packages/c5/2b/6a59c441e18ce5a0824862109386ba1f5143d81d8b3b6d055313f5eee52c/omniopt2-7752-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "650064e00fabb9f17a03ac55f5ff536245c1945d67bc708744eb19a3e0ab2fbb",
"md5": "77d303dbe31c17a51de32ee279108c26",
"sha256": "37bcea9bf7d7ef9956cf089f80f5c016527d15c08379b697788a93a49a50cd8f"
},
"downloads": -1,
"filename": "omniopt2-7752.tar.gz",
"has_sig": false,
"md5_digest": "77d303dbe31c17a51de32ee279108c26",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 168574,
"upload_time": "2025-07-29T09:40:10",
"upload_time_iso_8601": "2025-07-29T09:40:10.158107Z",
"url": "https://files.pythonhosted.org/packages/65/00/64e00fabb9f17a03ac55f5ff536245c1945d67bc708744eb19a3e0ab2fbb/omniopt2-7752.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-29 09:40:10",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "omniopt2"
}