def __call__(self, nn, train_history):
     current_valid = train_history[-1][self.loss] \
         * (-1.0 if self.greater_is_better else 1.0)
     current_epoch = train_history[-1]['epoch']
     if current_valid < self.best_valid:
         self.best_valid = current_valid
         self.best_valid_epoch = current_epoch
         self.best_weights = [w.get_value() for w in nn.get_all_params()]
         nn.save_params_to(self.weights_file)
예제 #2
0
 def __call__(self, nn, train_history):
     current_valid = train_history[-1][self.loss] \
         * (-1.0 if self.greater_is_better else 1.0)
     current_epoch = train_history[-1]['epoch']
     if current_valid < self.best_valid:
         self.best_valid = current_valid
         self.best_valid_epoch = current_epoch
         self.best_weights = [w.get_value() for w in nn.get_all_params()]
         nn.save_params_to(self.weights_file)
 def __call__(self, nn, train_history):
     epoch = train_history[-1]['epoch']
     if epoch in self.schedule:
         new_value = self.schedule[epoch]
         if new_value == 'stop':
             if self.weights_file is not None:
                 nn.save_params_to(self.weights_file)
             raise StopIteration
         getattr(nn, self.name).set_value(util.float32(new_value))
예제 #4
0
 def __call__(self, nn, train_history):
     epoch = train_history[-1]['epoch']
     if epoch in self.schedule:
         new_value = self.schedule[epoch]
         if new_value == 'stop':
             if self.weights_file is not None:
                 nn.save_params_to(self.weights_file)
             raise StopIteration
         getattr(nn, self.name).set_value(util.float32(new_value))