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