from botorch.acquisition import AcquisitionFunction | |
from torch import Tensor | |
class ExpectedImprovement(AcquisitionFunction): | |
def forward(self, X: Tensor, best_f, maximize=True) -> Tensor: # X: evaluation_points x feature_dim | |
assert len(X.shape) == 2 | |
model = self.get_submodule('model') | |
y = model(X) | |
full_range = model.full_range | |