A hyperparameter optimization library for AI Bridging Cloud Infrastructure (ABCI). This software solves hyperparameter optimizations related to AI technologies including deep learning and multi-agent simulation. The software currently supports five optimization algorithms: random search, grid search, sobol sequence, nelder-mead method, and TPE.
The software can be installed using pip
.
> pip install git+https://github.com/aistairc/aiaccel.git
An example for optimizing a simple function (i.e., sphere function) on a local computer.
(Optional) Install Virtualenv and create a virtual environment.
> python3 -m venv optenv
> source optenv/bin/activate
Install aiaccel
> pip install git+https://github.com/aistairc/aiaccel.git
Create a workspace and copy the sphere example on the repository.
> mkdir your_workspace_directory
> cd your_workspace_directory
> git clone https://github.com/aistairc/aiaccel.git
> cp -R ./aiaccel/examples .
> cd examples
> ls
sphere
> cd sphere
> ls
config.yaml user.py
Run the parameter optimization
> aiaccel-start --config config.yaml
or
> python -m aiaccel.cli.start --config config.yaml
Tips: You can start after cleaning the workspace directory using --clean
.
> aiaccel-start --config config.yaml --clean
Wait for the program to finish and check the optimization results.
> ls ./work
abci_output alive hp lock
log result runner state
> cat ./work/result/final_result.result
If you want to change configurations, edit config.yaml
.
> vi config.yaml
This tutorial describes how to run examples/sphere on ABCI.
First, setup python environment following the ABCI Users Guide:
> module load python/3.11/3.11.2
> python3 -m venv optenv
> source optenv/bin/activate
Prepare the workspace by following Steps 1 and 2 in Running on a local computer.
Please confirm the configuration file before running master.
resource:
type: "abci"
num_workers: 4
Run on an (interactive) job
> aiaccel-start --config config.yaml
If you want to check the running jobs, please refer the ABCI User Guide.
Check the progress
> aiaccel-view --config config.yaml
Display simple graphs
> aiaccel-plot --config config.yaml
Output results to workspace/results.csv.
> aiaccel-report --config config.yaml