def test_validation_evaluate_and_classification_report(self, *mocks): model = CharLoadTFModel(self.model_path, self.label_mapping) model._construct_model() # must make model to do priv validate func # validation data val_gen = [[ np.ones((2, 20)), # x_data np.zeros((2, 20, model.num_labels)), # y_data ]] val_gen[0][1][0, :11, self.label_mapping["ADDRESS"]] = 1 f1, f1_report = model._validate_training(val_gen, 32, True, True) self.assertIsNotNone(f1) self.assertIsNotNone(f1_report) self.assertEqual(11, f1_report["ADDRESS"]["support"])
def test_param_validation(self, *mocks): # Make sure all parameters can be altered. Make sure non-valid params # are caught parameters = { "default_label": "UNKNOWN", } invalid_parameters = { "fake_extra_param": "fails", } model = CharLoadTFModel(self.model_path, label_mapping=self.label_mapping, parameters=parameters) model._construct_model() self.assertDictEqual(parameters, model._parameters) with self.assertRaises(ValueError): CharLoadTFModel( self.model_path, label_mapping=self.label_mapping, parameters=invalid_parameters, )