simulai.backup.Optimization package
Submodules
simulai.backup.Optimization.test_nomad module
from unittest import TestCase import PyNomad
class TestNomadInterface(TestCase):
- def setUp(self) -> None:
# clear existing study and create a new one pass
- def test_nomad_interface(self):
# This example of blackbox function is for a single process # The blackbox output must be put in the EvalPoint passed as argument def bb(x):
dim = x.size() f = sum([x.get_coord(i) ** 2 for i in range(dim)]) x.setBBO(str(f).encode(“UTF-8”)) return 1 # 1: success 0: failed evaluation
x0 = [0.71, 0.51, 0.51] lb = [-1, -1, -1] ub = []
- params = [“BB_OUTPUT_TYPE OBJ”, “MAX_BB_EVAL 100”, “UPPER_BOUND * 1”, “DISPLAY_DEGREE 2”,
“DISPLAY_ALL_EVAL false”, “DISPLAY_STATS BBE OBJ”]
x_return, f_return, h_return, nb_evals, nb_iters, stopflag = PyNomad.optimize(bb, x0, lb, ub, params) print(”
NOMAD outputs X_sol={} F_sol={} H_sol={} NB_evals={} NB_iters={}
- “.format(x_return,
f_return, h_return, nb_evals, nb_iters))
self.assertTrue(True, ‘finished’)
simulai.backup.Optimization.test_optuna_redis module
from unittest import TestCase import os import optuna
REDIS_PASSWORD = os.getenv(‘REDIS_PASSWORD’) REDIS_SERVER = os.getenv(‘REDIS_SERVER’, ‘brl-pinns.sl.cloud9.ibm.com’) REDIS_PORT = os.getenv(‘REDIS_PORT’, ‘6379’) storage = f”redis://default:{REDIS_PASSWORD}@{REDIS_SERVER}:{REDIS_PORT}” study_name = “unit_test/test_optuna_redis”
#import redis #print(‘ping redis’, redis.Redis(host=REDIS_SERVER, port=int(REDIS_PORT), username=’default’, password=REDIS_PASSWORD).ping())
- def objective(trial):
x = trial.suggest_float(“x”, -10, 10) return (x - 2) ** 2
class TestDistributedOptuna(TestCase):
- def setUp(self) -> None:
# clear existing study and create a new one
study = optuna.study.create_study(study_name=study_name, storage=storage, load_if_exists=True) optuna.study.delete_study(study_name=study_name, storage=storage) study = optuna.study.create_study(study_name=study_name, storage=storage, load_if_exists=False)
def test_optuna_redis(self):
study = optuna.study.load_study(study_name=study_name, storage=storage) study.optimize(objective, n_trials=2) self.assertTrue(study.best_value >= 0)