in batch/aiml-workloads/src/model_training.py [0:0]
def generate_report(self, output_path):
"""
Accepts a output filepath.
Trains the model and appends the training report to the provided file.
"""
generated_on = str(datetime.datetime.now())
checkpoint_name = self._get_checkpoint_name()
dataset_name = Path(self._train_dataset_path).resolve().name
train_features, train_labels = self.get_features_and_labels(
self._read_dataset(self._train_dataset_path)
)
test_features, test_lables = self.get_features_and_labels(
self._read_dataset(self._test_dataset_path)
)
training_accuracy = self.get_model_accuracy(
train_features,
train_labels
)
test_accuracy = self.get_model_accuracy(
test_features,
test_lables,
)
with open(output_path, 'a') as f:
report = (
"*****************************************************\n"
"Report generated on: {}\n"
"Training dataset: {}\n"
"Model checkpoint: {}\n"
"---\n"
"Accuracy on training data: {}\n"
"Accuracy on testing data: {}\n"
"\n"
).format(
generated_on,
dataset_name,
checkpoint_name,
training_accuracy,
test_accuracy,
)
f.writelines(report)