Tensorflow对象检测培训失败,原因是“基数为10的int()的文本无效:{num_steps}”。将var作为字符串而不是int读取

2024-06-13 11:59:29 发布

您现在位置:Python中文网/ 问答频道 /正文

作为自定义对象检测项目的一部分,使用Tensorflow对象检测API(更快的r-cnn),我尝试开始训练我的模型。运行model_main.py文件时,我遇到一个奇怪的错误:

!python /home/jovyan/work/models/research/object_detection/model_main.py \
    --pipeline_config_path={pipeline_fname} \
    --model_dir={model_dir} \
    --alsologtostderr \
    --num_train_steps={num_steps} \
    --num_eval_steps={num_eval_steps} \
    --save_path={last_model_path}

num_steps在前面定义为整数10000

错误:

ValueError: invalid literal for int() with base 10: '{num_steps}'

我就是想不起这个问题。它似乎将num_steps读取为字符串(因为有引号)。有人能帮我解决这个错误吗?我正在使用TF1.5.3

总误差:

Traceback (most recent call last):
  File "/opt/conda/lib/python3.7/site-packages/absl/flags/_flag.py", line 181, in _parse
    return self.parser.parse(argument)
  File "/opt/conda/lib/python3.7/site-packages/absl/flags/_argument_parser.py", line 152, in parse
    val = self.convert(argument)
  File "/opt/conda/lib/python3.7/site-packages/absl/flags/_argument_parser.py", line 265, in convert
    return int(argument, base)
ValueError: invalid literal for int() with base 10: '{num_steps}'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/jovyan/work/models/research/object_detection/model_main.py", line 108, in <module>
    tf.app.run()
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/platform/app.py", line 40, 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 293, in run
    flags_parser,
  File "/opt/conda/lib/python3.7/site-packages/absl/app.py", line 362, in _run_init
    flags_parser=flags_parser,
  File "/opt/conda/lib/python3.7/site-packages/absl/app.py", line 212, in _register_and_parse_flags_with_usage
    args_to_main = flags_parser(original_argv)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/platform/app.py", line 31, in _parse_flags_tolerate_undef
    return flags.FLAGS(_sys.argv if argv is None else argv, known_only=True)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/platform/flags.py", line 112, in __call__
    return self.__dict__['__wrapped'].__call__(*args, **kwargs)
  File "/opt/conda/lib/python3.7/site-packages/absl/flags/_flagvalues.py", line 626, in __call__
    unknown_flags, unparsed_args = self._parse_args(args, known_only)
  File "/opt/conda/lib/python3.7/site-packages/absl/flags/_flagvalues.py", line 774, in _parse_args
    flag.parse(value)
  File "/opt/conda/lib/python3.7/site-packages/absl/flags/_flag.py", line 166, in parse
    self.value = self._parse(argument)
  File "/opt/conda/lib/python3.7/site-packages/absl/flags/_flag.py", line 184, in _parse
    'flag --%s=%s: %s' % (self.name, argument, e))
absl.flags._exceptions.IllegalFlagValueError: flag --num_train_steps={num_steps}: invalid literal for int() with base 10: '{num_steps}'

Tags: inpyparserparselibpackageslinesite