def testParameterSearchRunsNormallyUsingFirst(self):
        interface = BasicInterface()

        filename = "iris_tests/full_iris_with_parameter_search.xml"
        block_filepath = self.setup_holder.filepath_handler.get_test_block_path(
            filename)
        data_filepath = self.setup_holder.filepath_handler.get_test_block_path(
            "iris_tests")

        interface.load_file(block_filepath)
        interface.set_variable("data_folder", data_filepath)
        interface.initialize()

        interface.train()
        performance = interface.evaluate()

        self.assertGreaterEqual(1.0, performance)
        self.assertLess(0.9, performance)

        bg = interface.get_execution_component("batch_generator")
        self.assertEqual(10, bg.get_value_model().get_batch_size())

        mlp = interface.get_execution_component("mlp")
        self.assertEqual(10, mlp.get_value_model().get_transform_shape()[1])
        self.assertEqual(0.1, mlp.get_value_model().get_dropout_rate())
Ejemplo n.º 2
0
    def testSeqtoSeqWithSgdLrDecease(self):
        filename = "full_ml_tests/toy_nmt/toy_nmt_sgd_learning_rate_decay.xml"

        block_filepath = self.setup_holder.filepath_handler.get_test_block_path(
            filename)
        data_filepath = self.setup_holder.filepath_handler.get_test_data_path(
            "nmt/toy/")
        embedding_filepath = self.setup_holder.filepath_handler.get_test_data_path(
            "embeddings/")

        interface = BasicInterface()
        interface.load_file(block_filepath)
        interface.set_variable("data_folder", data_filepath)
        interface.set_variable("embedding_folder", embedding_filepath)
        interface.initialize()

        f = open(data_filepath + "tgt.txt")
        lines = [l.strip() for l in f]
        gold_sentences = [l + " EOS" for l in lines]
        f.close()

        upd_component = interface.get_execution_component("upd")
        learning_rate_variable = upd_component.value_model.get_learning_rate()
        lr = interface.ml_helper.tensorflow_session_model.run(
            learning_rate_variable, {})
        self.assertAlmostEqual(0.1, lr)

        interface.train(iterations=10)
        lr = interface.ml_helper.tensorflow_session_model.run(
            learning_rate_variable, {})
        self.assertAlmostEqual(0.1, lr)

        interface.train(iterations=1991)
        lr = interface.ml_helper.tensorflow_session_model.run(
            learning_rate_variable, {})
        self.assertAlmostEqual(0.0999, lr)

        interface.train(iterations=1)
        lr = interface.ml_helper.tensorflow_session_model.run(
            learning_rate_variable, {})
        self.assertAlmostEqual(0.0998001, lr)

        interface.train()
        predictions = interface.predict()

        self.assertEqual(len(gold_sentences), len(predictions))

        for i, s in enumerate(gold_sentences):
            pred_sent = " ".join(predictions[i])
            self.assertEqual(s, pred_sent)