def test_multiple_metrics_default(self):
     modelBuilder_keras = KerasModelBuilder(model_creator_multiple_metrics)
     model = modelBuilder_keras.build(config={
         "lr": 1e-2,
         "batch_size": 32,
     })
     with pytest.raises(ValueError):
         model.fit_eval(data=(self.data["x"], self.data["y"]),
                        validation_data=(self.data["val_x"],
                                         self.data["val_y"]),
                        epochs=20)
 def test_unaligned_metric_value(self):
     modelBuilder_keras = KerasModelBuilder(model_creator_keras)
     model = modelBuilder_keras.build(config={
         "lr": 1e-2,
         "batch_size": 32,
     })
     with pytest.raises(ValueError):
         model.fit_eval(data=(self.data["x"], self.data["y"]),
                        validation_data=(self.data["val_x"],
                                         self.data["val_y"]),
                        metric='mae',
                        epochs=20)
 def test_fit_evaluate(self):
     modelBuilder_keras = KerasModelBuilder(model_creator_keras)
     model = modelBuilder_keras.build(config={
         "lr": 1e-2,
         "batch_size": 32,
         "metric": "mse"
     })
     val_result = model.fit_eval(data=(self.data["x"], self.data["y"]),
                                 validation_data=(self.data["val_x"],
                                                  self.data["val_y"]),
                                 epochs=20)
     assert val_result is not None
 def test_fit_eval_default_metric(self):
     modelBuilder_keras = KerasModelBuilder(model_creator_keras)
     model = modelBuilder_keras.build(config={
         "lr": 1e-2,
         "batch_size": 32,
     })
     val_result = model.fit_eval(data=(self.data["x"], self.data["y"]),
                                 validation_data=(self.data["val_x"],
                                                  self.data["val_y"]),
                                 epochs=20)
     hist_metric_name = tf.keras.metrics.get("mse").__name__
     assert val_result.get(hist_metric_name)
    def test_uncompiled_model(self):
        def model_creator(config):
            """Returns a tf.keras model"""
            model = tf.keras.models.Sequential([tf.keras.layers.Dense(1)])
            return model

        modelBuilder_keras = KerasModelBuilder(model_creator)
        with pytest.raises(ValueError):
            model = modelBuilder_keras.build(config={
                "lr": 1e-2,
                "batch_size": 32,
                "metric": "mse"
            })
            model.fit_eval(data=(self.data["x"], self.data["y"]),
                           validation_data=(self.data["val_x"],
                                            self.data["val_y"]),
                           epochs=20)