Skip to content

Commit

Permalink
Removed duplicate references to the private methods
Browse files Browse the repository at this point in the history
  • Loading branch information
prithagupta committed Aug 16, 2024
1 parent af2de06 commit 92d9ad2
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 49 deletions.
28 changes: 0 additions & 28 deletions autoqild/bayes_search/bayes_search_cv.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,27 +140,6 @@ def __init__(
self.logger = logging.getLogger(BayesSearchCV.__name__)

def _step(self, search_space, optimizer, evaluate_candidates, n_points=1):
"""Generate n_jobs parameters and evaluate them in parallel.
Parameters
----------
search_space : dict
The search space for the hyperparameters.
optimizer : skopt.optimizer.Optimizer
The optimizer instance.
evaluate_candidates : callable
The function to evaluate the candidates.
n_points : int, default=1
Number of parameter settings to sample in parallel.
Returns
-------
optimizer : skopt.optimizer.Optimizer
The updated optimizer instance.
"""
# get parameter values to evaluate
params = optimizer.ask(n_points=n_points)

Expand All @@ -183,13 +162,6 @@ def _step(self, search_space, optimizer, evaluate_candidates, n_points=1):
return optimizer.tell(params, [-score for score in local_results])

def _run_search(self, evaluate_candidates):
"""Run the search for the best parameters.
Parameters
----------
evaluate_candidates : callable
The function to evaluate the candidates.
"""
# check if space is a single dict, convert to list if so
search_spaces = self.search_spaces
if isinstance(search_spaces, dict):
Expand Down
15 changes: 5 additions & 10 deletions autoqild/mi_estimators/mine_estimator.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,11 +96,6 @@ class MineMIEstimator(MIEstimatorBase):
features and labels are complex or non-linear, as the aggregation process helps to smooth out inconsistencies
across individual model predictions.
Private Methods
---------------
__pytorch_tensor_dataset__:
Create PyTorch tensor datasets for the input features and target labels.
Example
-------
>>> estimator = MineMIEstimator(n_classes=3, n_features=10)
Expand Down Expand Up @@ -142,7 +137,7 @@ def __init__(
self.models = []
self.n_models = 0

def __pytorch_tensor_dataset__(self, X, y, i=2):
def pytorch_tensor_dataset(self, X, y, i=2):
"""Create PyTorch tensor datasets for the input features and target
labels.
Expand Down Expand Up @@ -241,7 +236,7 @@ def fit(self, X, y, epochs=100000, verbose=0, **kwd):
sum_loss = 0
for iter_ in tqdm(range(epochs), total=epochs, desc="iteration"):
stat_net.zero_grad()
xy, xy_tilde = self.__pytorch_tensor_dataset__(X, y, i=iter_)
xy, xy_tilde = self.pytorch_tensor_dataset(X, y, i=iter_)
preds_xy = stat_net(xy)
preds_xy_tilde = stat_net(xy_tilde)
train_div = get_mine_loss(preds_xy, preds_xy_tilde, metric=self.loss_function)
Expand All @@ -253,7 +248,7 @@ def fit(self, X, y, epochs=100000, verbose=0, **kwd):
with torch.no_grad():
mi_hats = []
for _ in range(MON_ITER):
xy, xy_tilde = self.__pytorch_tensor_dataset__(X, y, i=iter_)
xy, xy_tilde = self.pytorch_tensor_dataset(X, y, i=iter_)
preds_xy = stat_net(xy)
preds_xy_tilde = stat_net(xy_tilde)
eval_div = get_mine_loss(
Expand Down Expand Up @@ -378,7 +373,7 @@ def decision_function(self, X, verbose=0):
for model in self.models:
for n_class in range(self.n_classes):
y = np.zeros(X.shape[0]) + n_class
xy, xy_tilde = self.__pytorch_tensor_dataset__(X, y, i=0)
xy, xy_tilde = self.pytorch_tensor_dataset(X, y, i=0)
score = model(xy).detach().numpy()
if scores is None:
scores = score
Expand Down Expand Up @@ -418,7 +413,7 @@ def estimate_mi(self, X, y, verbose=0, MON_ITER=1000, **kwargs):
for model in self.models:
mi_hats = []
for iter_ in range(MON_ITER):
xy, xy_tilde = self.__pytorch_tensor_dataset__(X, y, i=iter_)
xy, xy_tilde = self.pytorch_tensor_dataset(X, y, i=iter_)
preds_xy = model(xy)
preds_xy_tilde = model(xy_tilde)
eval_div = get_mine_loss(preds_xy, preds_xy_tilde, metric=self.loss_function)
Expand Down
17 changes: 6 additions & 11 deletions autoqild/mi_estimators/mine_estimator_mse.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,6 @@ class MineMIEstimatorMSE(MIEstimatorBase):
mi_val : float
The final estimated mutual information value.
Private Methods
---------------
__pytorch_tensor_dataset__:
Create PyTorch tensor datasets for the input features and target labels.
Notes
-----
This class is particularly suited for scenarios involving hyperparameter tuning where the goal is to identify
Expand Down Expand Up @@ -141,7 +136,7 @@ def __init__(
self.final_loss = 0
self.mi_val = 0

def __pytorch_tensor_dataset__(self, X, y, batch_size=64, i=2):
def pytorch_tensor_dataset(self, X, y, batch_size=64, i=2):
"""Create PyTorch tensor datasets for the input features and target
labels.
Expand Down Expand Up @@ -238,7 +233,7 @@ def fit(self, X, y, epochs=10000, batch_size=128, verbose=0, **kwd):
sum_loss = 0
for iter_ in tqdm(range(epochs), total=epochs, desc="iteration"):
self.stat_net.zero_grad()
xy, xy_tilde = self.__pytorch_tensor_dataset__(X, y, batch_size=batch_size, i=iter_)
xy, xy_tilde = self.pytorch_tensor_dataset(X, y, batch_size=batch_size, i=iter_)
preds_xy = self.stat_net(xy)
preds_xy_tilde = self.stat_net(xy_tilde)
train_div = get_mine_loss(preds_xy, preds_xy_tilde, metric=self.loss_function)
Expand All @@ -250,7 +245,7 @@ def fit(self, X, y, epochs=10000, batch_size=128, verbose=0, **kwd):
with torch.no_grad():
mi_hats = []
for _ in range(MON_ITER):
xy, xy_tilde = self.__pytorch_tensor_dataset__(
xy, xy_tilde = self.pytorch_tensor_dataset(
X, y, batch_size=batch_size, i=iter_
)
preds_xy = self.stat_net(xy)
Expand Down Expand Up @@ -320,7 +315,7 @@ def score(self, X, y, sample_weight=None, verbose=0):
The score of the model using the mean squared error between the original and permuted samples loss.
"""
torch.no_grad()
xy, xy_tilde = self.__pytorch_tensor_dataset__(X, y, batch_size=X.shape[0], i=0)
xy, xy_tilde = self.pytorch_tensor_dataset(X, y, batch_size=X.shape[0], i=0)
preds_xy = self.stat_net(xy).cpu().detach().numpy().flatten()
preds_xy_tilde = self.stat_net(xy_tilde).cpu().detach().numpy().flatten()
mse = mean_squared_error(preds_xy, preds_xy_tilde)
Expand Down Expand Up @@ -354,7 +349,7 @@ def decision_function(self, X, verbose=0):
scores = None
for n_class in range(self.n_classes):
y = np.zeros(X.shape[0]) + n_class
xy, xy_tilde = self.__pytorch_tensor_dataset__(X, y, batch_size=X.shape[0], i=0)
xy, xy_tilde = self.pytorch_tensor_dataset(X, y, batch_size=X.shape[0], i=0)
score = self.stat_net(xy).cpu().detach().numpy()
if scores is None:
scores = score
Expand Down Expand Up @@ -389,7 +384,7 @@ def estimate_mi(self, X, y, verbose=0, MON_ITER=100, **kwargs):
"""
mi_hats = []
for iter_ in range(MON_ITER):
xy, xy_tilde = self.__pytorch_tensor_dataset__(X, y, batch_size=X.shape[0], i=iter_)
xy, xy_tilde = self.pytorch_tensor_dataset(X, y, batch_size=X.shape[0], i=iter_)
preds_xy = self.stat_net(xy)
preds_xy_tilde = self.stat_net(xy_tilde)
eval_div = get_mine_loss(preds_xy, preds_xy_tilde, metric=self.loss_function)
Expand Down

0 comments on commit 92d9ad2

Please sign in to comment.