def record_eval_path(self, path):
     path = str(Path(path).resolve().as_posix())
     config_util.update_input_reader_config(
         self.pipeline_config,
         key_name='eval_input_config',
         input_name=None,
         field_name='input_path',
         value=path,
     )
     self.config.record_eval_path = path
Ejemplo n.º 2
0
 def _set_config_paths(self):
     configs = create_configs_from_pipeline_proto(self.pipeline)
     update_input_reader_config(configs,
                                key_name="train_input_config",
                                input_name=None,
                                field_name="input_path",
                                value=str(self._val_record_file),
                                path_updater=_update_tf_record_input_path)
     update_input_reader_config(configs,
                                key_name="eval_input_configs",
                                input_name=None,
                                field_name="input_path",
                                value=str(self._train_record_file),
                                path_updater=_update_tf_record_input_path)
     update_dict = {
         "label_map_path": str(self._labels_map_file),
         "train_config.fine_tune_checkpoint": str(self._checkpoint_model_folder.joinpath("model.ckpt"))
     }
     configs = merge_external_params_with_configs(configs, kwargs_dict=update_dict)
     self._pipeline = create_pipeline_proto_from_configs(configs)
  def testUpdateInputReaderConfigErrors(self):
    pipeline_config_path = os.path.join(self.get_temp_dir(), "pipeline.config")
    pipeline_config = pipeline_pb2.TrainEvalPipelineConfig()
    pipeline_config.eval_input_reader.add().name = "same_eval_name"
    pipeline_config.eval_input_reader.add().name = "same_eval_name"
    _write_config(pipeline_config, pipeline_config_path)
    configs = config_util.get_configs_from_pipeline_file(pipeline_config_path)

    with self.assertRaisesRegexp(ValueError,
                                 "Duplicate input name found when overriding."):
      config_util.update_input_reader_config(
          configs,
          key_name="eval_input_configs",
          input_name="same_eval_name",
          field_name="shuffle",
          value=False)

    with self.assertRaisesRegexp(
        ValueError, "Input name name_not_exist not found when overriding."):
      config_util.update_input_reader_config(
          configs,
          key_name="eval_input_configs",
          input_name="name_not_exist",
          field_name="shuffle",
          value=False)

    with self.assertRaisesRegexp(ValueError,
                                 "Unknown input config overriding."):
      config_util.update_input_reader_config(
          configs,
          key_name="eval_input_configs",
          input_name=None,
          field_name="shuffle",
          value=False)
Ejemplo n.º 4
0
  def testUpdateInputReaderConfigErrors(self):
    pipeline_config_path = os.path.join(self.get_temp_dir(), "pipeline.config")
    pipeline_config = pipeline_pb2.TrainEvalPipelineConfig()
    pipeline_config.eval_input_reader.add().name = "same_eval_name"
    pipeline_config.eval_input_reader.add().name = "same_eval_name"
    _write_config(pipeline_config, pipeline_config_path)
    configs = config_util.get_configs_from_pipeline_file(pipeline_config_path)

    with self.assertRaisesRegexp(ValueError,
                                 "Duplicate input name found when overriding."):
      config_util.update_input_reader_config(
          configs,
          key_name="eval_input_configs",
          input_name="same_eval_name",
          field_name="shuffle",
          value=False)

    with self.assertRaisesRegexp(
        ValueError, "Input name name_not_exist not found when overriding."):
      config_util.update_input_reader_config(
          configs,
          key_name="eval_input_configs",
          input_name="name_not_exist",
          field_name="shuffle",
          value=False)

    with self.assertRaisesRegexp(ValueError,
                                 "Unknown input config overriding."):
      config_util.update_input_reader_config(
          configs,
          key_name="eval_input_configs",
          input_name=None,
          field_name="shuffle",
          value=False)
Ejemplo n.º 5
0
    def testUpdateInputReaderConfigSuccess(self):
        original_shuffle = False
        new_shuffle = True
        pipeline_config_path = os.path.join(self.get_temp_dir(),
                                            "pipeline.config")
        pipeline_config = pipeline_pb2.TrainEvalPipelineConfig()
        pipeline_config.train_input_reader.shuffle = original_shuffle
        _write_config(pipeline_config, pipeline_config_path)
        configs = config_util.get_configs_from_pipeline_file(
            pipeline_config_path)

        config_util.update_input_reader_config(configs,
                                               key_name="train_input_config",
                                               input_name=None,
                                               field_name="shuffle",
                                               value=new_shuffle)
        self.assertEqual(configs["train_input_config"].shuffle, new_shuffle)

        config_util.update_input_reader_config(configs,
                                               key_name="train_input_config",
                                               input_name=None,
                                               field_name="shuffle",
                                               value=new_shuffle)
        self.assertEqual(configs["train_input_config"].shuffle, new_shuffle)
Ejemplo n.º 6
0
  def testUpdateInputReaderConfigSuccess(self):
    original_shuffle = False
    new_shuffle = True
    pipeline_config_path = os.path.join(self.get_temp_dir(), "pipeline.config")
    pipeline_config = pipeline_pb2.TrainEvalPipelineConfig()
    pipeline_config.train_input_reader.shuffle = original_shuffle
    _write_config(pipeline_config, pipeline_config_path)
    configs = config_util.get_configs_from_pipeline_file(pipeline_config_path)

    config_util.update_input_reader_config(
        configs,
        key_name="train_input_config",
        input_name=None,
        field_name="shuffle",
        value=new_shuffle)
    self.assertEqual(configs["train_input_config"].shuffle, new_shuffle)

    config_util.update_input_reader_config(
        configs,
        key_name="train_input_config",
        input_name=None,
        field_name="shuffle",
        value=new_shuffle)
    self.assertEqual(configs["train_input_config"].shuffle, new_shuffle)