有没有办法从 Jupyter Notebook 单元中运行 Tensorflow 对象检测 API 的 model_main_tf2.py?

问题描述 投票:0回答:0

来自 https://github.com/tensorflow/models/blob/master/research/object_detection/model_main_tf2.py,共享的方法是从 linux 终端或 anaconda 提示符运行 Tensorflow 对象检测 API。

在特定的编码平台上,我无法访问终端。那么,有没有办法从 Jupyter Notebook 单元运行 Tensorflow 对象检测 API?

在 Jupyter Notebook 单元格中,我分别运行了以下 2 个代码段并遇到了错误:

代码段 1

PIPELINE_CONFIG_PATH=<PIPELINE_CONFIG_PATH>
MODEL_DIR=<MODEL_DIR>
os.path.exists(PIPELINE_CONFIG_PATH) # True
%run -t /<pathprefix>/working/models/research/object_detection/model_main_tf2.py --pipeline_config_path=PIPELINE_CONFIG_PATH --model_dir=MODEL_DIR --alsologtostderr

NotFoundError                             Traceback (most recent call last)
/kaggle/working/models/research/object_detection/model_main_tf2.py in <module>
112 
113 if __name__ == '__main__':
--> 114   tf.compat.v1.app.run()

/opt/conda/lib/python3.7/site-packages/tensorflow/python/platform/app.py in run(main, argv)
 34   main = main or _sys.modules['__main__'].main
 35 
---> 36   _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)

/opt/conda/lib/python3.7/site-packages/absl/app.py in run(main, argv, flags_parser)
306       callback()
307     try:
--> 308       _run_main(main, args)
309     except UsageError as error:
310       usage(shorthelp=True, detailed_error=error, exitcode=error.exitcode)

/opt/conda/lib/python3.7/site-packages/absl/app.py in _run_main(main, argv)
252     sys.exit(retval)
253   else:
--> 254     sys.exit(main(argv))
255 
256 

/kaggle/working/models/research/object_detection/model_main_tf2.py in main(unused_argv)
109           use_tpu=FLAGS.use_tpu,
110           checkpoint_every_n=FLAGS.checkpoint_every_n,
--> 111           record_summaries=FLAGS.record_summaries)
112 
113 if __name__ == '__main__':

/opt/conda/lib/python3.7/site-packages/object_detection/model_lib_v2.py in train_loop(pipeline_config_path, model_dir, config_override, train_steps, use_tpu, save_final_config, checkpoint_every_n, checkpoint_max_to_keep, record_summaries, performance_summary_exporter, num_steps_per_iteration, **kwargs)
504 
505   configs = get_configs_from_pipeline_file(
--> 506       pipeline_config_path, config_override=config_override)
507   kwargs.update({
508       'train_steps': train_steps,

/opt/conda/lib/python3.7/site-packages/object_detection/utils/config_util.py in get_configs_from_pipeline_file(pipeline_config_path, config_override)
136   pipeline_config = pipeline_pb2.TrainEvalPipelineConfig()
137   with tf.gfile.GFile(pipeline_config_path, "r") as f:
--> 138     proto_str = f.read()
139     text_format.Merge(proto_str, pipeline_config)
140   if config_override:

/opt/conda/lib/python3.7/site-packages/tensorflow/python/lib/io/file_io.py in read(self, n)
114       string if in string (regular) mode.
115     """
--> 116     self._preread_check()
117     if n == -1:
118       length = self.size() - self.tell()

/opt/conda/lib/python3.7/site-packages/tensorflow/python/lib/io/file_io.py in _preread_check(self)
 76                                            "File isn't open for reading")
 77       self._read_buf = _pywrap_file_io.BufferedInputStream(
---> 78           compat.path_to_str(self.__name), 1024 * 512)
 79 
 80   def _prewrite_check(self):

NotFoundError: PIPELINE_CONFIG_PATH; No such file or directory

代码段2

!python /<pathprefix>/working/models/research/object_detection/model_main_tf2.py --pipeline_config_path=PIPELINE_CONFIG_PATH --model_dir=MODEL_DIR --alsologtostderr

Traceback (most recent call last):
  File "/kaggle/working/models/research/object_detection/model_main_tf2.py", line 114, in <module>
tf.compat.v1.app.run()
  File "/opt/conda/lib/python3.7/site-packages/tensorflow/python/platform/app.py", line 36, in run
_run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
  File "/opt/conda/lib/python3.7/site-packages/absl/app.py", line 308, in run
_run_main(main, args)
  File "/opt/conda/lib/python3.7/site-packages/absl/app.py", line 254, in _run_main
sys.exit(main(argv))
  File "/kaggle/working/models/research/object_detection/model_main_tf2.py", line 111, in main
record_summaries=FLAGS.record_summaries)
  File "/opt/conda/lib/python3.7/site-packages/object_detection/model_lib_v2.py", line 506, in train_loop
pipeline_config_path, config_override=config_override)
  File "/opt/conda/lib/python3.7/site-packages/object_detection/utils/config_util.py", line 138, in get_configs_from_pipeline_file
proto_str = f.read()
  File "/opt/conda/lib/python3.7/site-packages/tensorflow/python/lib/io/file_io.py", line 116, in read
self._preread_check()
  File "/opt/conda/lib/python3.7/site-packages/tensorflow/python/lib/io/file_io.py", line 78, in _preread_check
compat.path_to_str(self.__name), 1024 * 512)
tensorflow.python.framework.errors_impl.NotFoundError: PIPELINE_CONFIG_PATH; No such file or directory
tensorflow jupyter-notebook object-detection-api
© www.soinside.com 2019 - 2024. All rights reserved.