Пример #1
0
def clone_model(model: nn.Module) -> nn.Module:
    names_binary = set(name for name, param in named_parameters_binary(model))
    model_copied = copy.deepcopy(model)
    for name, param in model_copied.named_parameters():
        if name in names_binary:
            param.is_binary = True
    return model_copied
Пример #2
0
 def __init__(self, trainer):
     super().__init__(trainer)
     self.autocorrelation = Autocorrelation(
         n_lags=self.timer.batches_in_epoch,
         with_autocorrelation=isinstance(trainer.train_loader.dataset,
                                         MNISTSmall))
     self.graph_mcmc = GraphMCMC(named_params=named_parameters_binary(
         self.model),
                                 timer=self.timer,
                                 history_heatmap=True)
Пример #3
0
 def __init__(self, trainer, is_active=True, watch_parameters=False):
     super().__init__(trainer,
                      is_active=is_active,
                      watch_parameters=watch_parameters)
     self.autocorrelation = Autocorrelation(
         n_lags=self.timer.batches_in_epoch,
         with_autocorrelation=isinstance(trainer.train_loader.dataset,
                                         MNISTSmall))
     named_param_shapes = iter(
         (name, param.shape)
         for name, param in named_parameters_binary(trainer.model))
     self.graph_mcmc = GraphMCMC(named_param_shapes=named_param_shapes,
                                 timer=self.timer,
                                 history_heatmap=True)
Пример #4
0
 def train_batch(self, images, labels):
     return self.train_batch_mcmc(images, labels, named_params=named_parameters_binary(self.model))