Exemplo n.º 1
0
    def testDoWithOutputExamplesSpecifiedSplits(self):
        self._exec_properties['data_spec'] = proto_utils.proto_to_json(
            text_format.Parse(
                """
                example_splits: 'unlabelled'
            """, bulk_inferrer_pb2.DataSpec()))
        self._exec_properties[
            'output_example_spec'] = proto_utils.proto_to_json(
                text_format.Parse(
                    """
                output_columns_spec {
                  classify_output {
                    label_column: 'classify_label'
                    score_column: 'classify_score'
                  }
                }
            """, bulk_inferrer_pb2.OutputExampleSpec()))

        # Run executor.
        bulk_inferrer = executor.Executor(self._context)
        bulk_inferrer.Do(self._input_dict, self._output_dict_oe,
                         self._exec_properties)

        # Check outputs.
        self.assertTrue(fileio.exists(self._output_examples_dir))
        self._verify_example_split('unlabelled')
        self.assertFalse(
            fileio.exists(
                os.path.join(self._output_examples_dir, 'unlabelled2')))
Exemplo n.º 2
0
    def testDoWithBlessedModel(self):
        input_dict = {
            'examples': [self._examples],
            'model_export': [self._model_export],
            'model_blessing': [self._model_blessing],
        }
        output_dict = {
            'output': [self._inference_result],
        }
        # Create exe properties.
        exec_properties = {
            'data_spec':
            json_format.MessageToJson(bulk_inferrer_pb2.DataSpec()),
            'model_spec':
            json_format.MessageToJson(bulk_inferrer_pb2.ModelSpec()),
            'component_id': self.component_id,
        }

        # Run executor.
        bulk_inferrer = executor.Executor(self._context)
        bulk_inferrer.Do(input_dict, output_dict, exec_properties)

        # Check outputs.
        self.assertTrue(tf.io.gfile.exists(self._prediction_log_dir))
        results = self._get_results(self._prediction_log_dir)
        self.assertTrue(results)
        self.assertEqual(
            len(results[0].classify_log.response.result.classifications), 1)
        self.assertEqual(
            len(results[0].classify_log.response.result.classifications[0].
                classes), 2)
Exemplo n.º 3
0
    def testDoWithBlessedModel(self):
        # Run executor.
        bulk_inferrer = executor.Executor(self._context)
        bulk_inferrer.Do(self._input_dict, self._output_dict_ir,
                         self._exec_properties)

        # Check outputs.
        self.assertTrue(fileio.exists(self._prediction_log_dir))
        results = self._get_results(self._prediction_log_dir,
                                    executor._PREDICTION_LOGS_FILE_NAME,
                                    prediction_log_pb2.PredictionLog)
        self.assertTrue(results)
        self.assertEqual(
            len(results[0].classify_log.response.result.classifications), 1)
        self.assertEqual(
            len(results[0].classify_log.response.result.classifications[0].
                classes), 2)
Exemplo n.º 4
0
    def testDoWithOutputExamplesAllSplits(self):
        self._exec_properties[
            standard_component_specs.
            OUTPUT_EXAMPLE_SPEC_KEY] = proto_utils.proto_to_json(
                text_format.Parse(
                    """
                output_columns_spec {
                  classify_output {
                    label_column: 'classify_label'
                    score_column: 'classify_score'
                  }
                }
            """, bulk_inferrer_pb2.OutputExampleSpec()))

        # Run executor.
        bulk_inferrer = executor.Executor(self._context)
        bulk_inferrer.Do(self._input_dict, self._output_dict_oe,
                         self._exec_properties)

        # Check outputs.
        self.assertTrue(fileio.exists(self._output_examples_dir))
        self._verify_example_split('unlabelled')
        self._verify_example_split('unlabelled2')