Beispiel #1
0
 def evaluate_mae(self, X_test, y_test, device, batch_size=4096):
     X_test = torch.as_tensor(X_test, device=device)
     y_test = check_numpy(y_test)
     self.model.train(False)
     with torch.no_grad():
         prediction = process_in_chunks(self.model,
                                        X_test,
                                        batch_size=batch_size)
         prediction = check_numpy(prediction)
         error_rate = np.abs(y_test - prediction).mean()
     return error_rate
Beispiel #2
0
 def evaluate_logloss(self, X_test, y_test, device, batch_size=512):
     X_test = torch.as_tensor(X_test, device=device)
     y_test = check_numpy(y_test)
     self.model.train(False)
     with torch.no_grad():
         logits = F.softmax(process_in_chunks(self.model,
                                              X_test,
                                              batch_size=batch_size),
                            dim=1)
         logits = check_numpy(logits)
         y_test = torch.from_numpy(y_test)
         logloss = log_loss(check_numpy(to_one_hot(y_test)), logits)
     return logloss
Beispiel #3
0
 def evaluate_classification_error(self,
                                   X_test,
                                   y_test,
                                   device,
                                   batch_size=4096):
     X_test = torch.as_tensor(X_test, device=device)
     y_test = check_numpy(y_test)
     self.model.train(False)
     with torch.no_grad():
         logits = process_in_chunks(self.model,
                                    X_test,
                                    batch_size=batch_size)
         logits = check_numpy(logits)
         error_rate = (y_test != np.argmax(logits, axis=1)).mean()
     return error_rate