def fit( self, Xs: List[Tensor], Ys: List[Tensor], Yvars: List[Tensor], search_space_digest: SearchSpaceDigest, metric_names: List[str], candidate_metadata: Optional[List[List[TCandidateMetadata]]] = None, ) -> None: self.dtype = Xs[0].dtype self.device = Xs[0].device self.Xs = Xs self.Ys = Ys self.Yvars = Yvars self.task_features = normalize_indices( search_space_digest.task_features, d=Xs[0].size(-1)) self.fidelity_features = normalize_indices( search_space_digest.fidelity_features, d=Xs[0].size(-1)) self.metric_names = metric_names self.model = self.model_constructor( # pyre-ignore [28] Xs=Xs, Ys=Ys, Yvars=Yvars, task_features=self.task_features, fidelity_features=self.fidelity_features, metric_names=self.metric_names, use_input_warping=self.use_input_warping, use_loocv_pseudo_likelihood=self.use_loocv_pseudo_likelihood, **self._kwargs, )
def fit( self, Xs: List[Tensor], Ys: List[Tensor], Yvars: List[Tensor], bounds: List[Tuple[float, float]], task_features: List[int], feature_names: List[str], metric_names: List[str], fidelity_features: List[int], candidate_metadata: Optional[List[List[TCandidateMetadata]]] = None, ) -> None: self.dtype = Xs[0].dtype self.device = Xs[0].device self.Xs = Xs self.Ys = Ys self.Yvars = Yvars # ensure indices are non-negative self.task_features = normalize_indices(task_features, d=Xs[0].size(-1)) self.fidelity_features = normalize_indices(fidelity_features, d=Xs[0].size(-1)) self.metric_names = metric_names self.model = self.model_constructor( # pyre-ignore [28] Xs=Xs, Ys=Ys, Yvars=Yvars, task_features=self.task_features, fidelity_features=self.fidelity_features, metric_names=self.metric_names, **self._kwargs, )
def fit( self, Xs: List[Tensor], Ys: List[Tensor], Yvars: List[Tensor], bounds: List[Tuple[float, float]], task_features: List[int], feature_names: List[str], fidelity_features: List[int], ) -> None: self.dtype = Xs[0].dtype self.device = Xs[0].device self.Xs = Xs self.Ys = Ys self.Yvars = Yvars # ensure indices are non-negative self.task_features = normalize_indices(task_features, d=Xs[0].size(-1)) self.fidelity_features = normalize_indices(fidelity_features, d=Xs[0].size(-1)) kwargs = self._kwargs if len(self.fidelity_features) == 0: # only pass linear_truncated arg if there are fidelities self._kwargs = { k: v for k, v in kwargs.items() if k != "linear_truncated" } self.model = self.model_constructor( # pyre-ignore [28] Xs=Xs, Ys=Ys, Yvars=Yvars, task_features=self.task_features, fidelity_features=self.fidelity_features, **self._kwargs, )
def testNormalizeIndices(self): indices = [0, 2] nlzd_indices = normalize_indices(indices, 3) self.assertEqual(nlzd_indices, indices) nlzd_indices = normalize_indices(indices, 4) self.assertEqual(nlzd_indices, indices) indices = [0, -1] nlzd_indices = normalize_indices(indices, 3) self.assertEqual(nlzd_indices, [0, 2]) with self.assertRaises(ValueError): nlzd_indices = normalize_indices([3], 3) with self.assertRaises(ValueError): nlzd_indices = normalize_indices([-4], 3)