Пример #1
0
 def __init__(self, context: det.TrialContext) -> None:
     self.context = context
     self.data_config = context.get_data_config()
     self.criterion = CrossEntropyLabelSmooth(
         context.get_hparam("num_classes"),  # num classes
         context.get_hparam("label_smoothing_rate"),
     )
     self.last_epoch_idx = -1
Пример #2
0
 def __init__(self, context: det.TrialContext) -> None:
     self.context = context
     self.data_config = context.get_data_config()
     self.num_classes = {
         "train": context.get_hparam("num_classes_train"),
         "val": context.get_hparam("num_classes_val"),
     }
     self.num_support = {
         "train": context.get_hparam("num_support_train"),
         "val": context.get_hparam("num_support_val"),
     }
     self.num_query = {
         "train": context.get_hparam("num_query_train"),
         "val": None,  # Use all available examples for val at meta-test time
     }
     self.get_train_valid_splits()
Пример #3
0
    def __init__(self, context: det.TrialContext) -> None:
        super().__init__()
        # Set hyperparameters that influence the model architecture.
        self.n_filters1 = context.get_hparam("n_filters1")
        self.n_filters2 = context.get_hparam("n_filters2")
        self.dropout = context.get_hparam("dropout")

        # Define the central model.
        self.model = nn.Sequential(
            nn.Conv2d(1, self.n_filters1, kernel_size=5),
            nn.MaxPool2d(2),
            nn.ReLU(),
            nn.Conv2d(self.n_filters1, self.n_filters2, kernel_size=5),
            nn.MaxPool2d(2),
            nn.ReLU(),
            Flatten(),
            nn.Linear(16 * self.n_filters2, 50),
            nn.ReLU(),
            nn.Dropout2d(self.dropout),
        )  # type: nn.Sequential
        # Predict digit labels from self.model.
        self.digit = nn.Sequential(nn.Linear(50, 10), nn.Softmax(dim=0))
        # Predict binary labels from self.model.
        self.binary = nn.Sequential(nn.Linear(50, 1), nn.Sigmoid(), Squeeze())