def get_test_error(self): data, filenames = self.get_test_patches_and_filenames() if self.test_on_images: print 'testing on images' probabilities, test_results = self.get_predictions(data) fileProbs, fileLabels, fileIDs = ModelEvaluation.GetUnormalizedJointLogProbability(probabilities, data[1].reshape(-1), filenames) filePredictions = ModelEvaluation.GetPredictions(fileProbs) fileAccuracy, misclassifiedFiles = ModelEvaluation.CalculateAccuracy(filePredictions, fileLabels) nExamples = test_results[1] results = ({'logprob' : [test_results[0]['logprob'][0], (1-fileAccuracy) * test_results[1]]}, test_results[1]) if self.test_only: # Print the individual batch results for safety print str(results) else: print 'not testing on images' self.libmodel.startBatch(data, True) results = self.finish_batch() self.regular_test_outputs += [IGPUModel.get_test_error(self)] return results