import numpy as np
import torch
from spotoptim.core.data import SpotDataFromArray
from spotoptim.core.experiment import ExperimentControl
from spotoptim.nn.mlp import MLP
# 1. Prepare Data
X = np.array([[0.1 , 0.2 ], [0.3 , 0.4 ]])
y = np.array([[1.0 ], [2.0 ]])
dataset = SpotDataFromArray(x_train= X, y_train= y)
# 2. Define Hyperparameters
params = {"l1" : 16 , "num_hidden_layers" : 1 , "lr" : 1e-3 }
# 3. Initialize Control with Real Model
exp = ExperimentControl(
dataset= dataset,
model_class= MLP,
hyperparameters= params,
experiment_name= "real_model_run" ,
seed= 42
)
print (exp.to_dict())
{'dataset': <spotoptim.core.data.SpotDataFromArray object at 0x11eec8050>, 'model_class': <class 'spotoptim.nn.mlp.MLP'>, 'hyperparameters': {'l1': 16, 'num_hidden_layers': 1, 'lr': 0.001}, 'seed': 42, 'device': 'cpu', 'num_workers': 0, 'epochs': None, 'batch_size': 32, 'optimizer_class': None, 'loss_function': None, 'metrics': [], 'n_initial': 10, 'max_evals': 50, 'experiment_name': 'real_model_run', 'verbosity': 0}