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
- Part of this software was developed in a project commissioned by the New Energy and Industrial Technology Development Organization (NEDO).
- aiaccel is built with the help of Optuna.