Пример #1
0
 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,
     )
Пример #2
0
 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,
     )
Пример #3
0
 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,
     )
Пример #4
0
 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)