Beispiel #1
0
    def _construct_loaders(self, X_train, y_train, eval_set):
        """Generate dataloaders for train and eval set.
        Parameters
        ----------
        X_train : np.array
            Train set.
        y_train : np.array
            Train targets.
        eval_set : list of tuple
            List of eval tuple set (X, y).
        Returns
        -------
        train_dataloader : `torch.utils.data.Dataloader`
            Training dataloader.
        valid_dataloaders : list of `torch.utils.data.Dataloader`
            List of validation dataloaders.
        """
        # all weights are not allowed for this type of model
        y_train_mapped = self.prepare_target(y_train)
        for i, (X, y) in enumerate(eval_set):
            y_mapped = self.prepare_target(y)
            eval_set[i] = (X, y_mapped)

        train_dataloader, valid_dataloaders = create_dataloaders(
            X_train,
            y_train_mapped,
            eval_set,
            self.updated_weights,
            self.batch_size,
            self.num_workers,
            self.drop_last,
            self.pin_memory,
        )
        return train_dataloader, valid_dataloaders
Beispiel #2
0
 def construct_loaders(self, X_train, y_train, X_valid, y_valid, weights,
                       batch_size):
     """
     Returns
     -------
     train_dataloader, valid_dataloader : torch.DataLoader, torch.DataLoader
         Training and validation dataloaders
     -------
     """
     train_dataloader, valid_dataloader = create_dataloaders(
         X_train, y_train, X_valid, y_valid, 0, batch_size)
     return train_dataloader, valid_dataloader
Beispiel #3
0
 def construct_loaders(self, X_train, y_train, X_valid, y_valid, weights,
                       batch_size, num_workers, drop_last):
     """
     Returns
     -------
     train_dataloader, valid_dataloader : torch.DataLoader, torch.DataLoader
         Training and validation dataloaders
     -------
     """
     y_train_mapped = np.vectorize(self.target_mapper.get)(y_train)
     y_valid_mapped = np.vectorize(self.target_mapper.get)(y_valid)
     train_dataloader, valid_dataloader = create_dataloaders(
         X_train, y_train_mapped, X_valid, y_valid_mapped, weights,
         batch_size, num_workers, drop_last)
     return train_dataloader, valid_dataloader
Beispiel #4
0
    def construct_loaders(self, X_train, y_train, X_valid, y_valid, weights,
                          batch_size, num_workers, drop_last):
        """
        Returns
        -------
        train_dataloader, valid_dataloader : torch.DataLoader, torch.DataLoader
            Training and validation dataloaders
        -------
        """
        if isinstance(weights, int):
            if weights == 1:
                raise ValueError(
                    "Please provide a list of weights for regression.")
        if isinstance(weights, dict):
            raise ValueError(
                "Please provide a list of weights for regression.")

        train_dataloader, valid_dataloader = create_dataloaders(
            X_train, y_train, X_valid, y_valid, weights, batch_size,
            num_workers, drop_last)
        return train_dataloader, valid_dataloader