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')))
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)
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)
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')