在使用Spyder执行大量脚本期间,我收到错误ArgumentError: argument --batch_size: conflicting option string: --batch_size
每次我尝试执行代码并执行终止。
例如,使用Tensorflow CIFAR10示例,我收到此错误 在这一行
# Basic model parameters.
tf.app.flags.DEFINE_integer('batch_size', 128,
"""Number of images to process in a batch.""")
完整错误日志:
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 866, in runfile
execfile(filename, namespace)
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:\ProgramData\Anaconda3\lib\argparse.py", line 1344, in add_argument
return self._add_action(action)
File "C:\ProgramData\Anaconda3\lib\argparse.py", line 1707, in _add_action
self._optionals._add_action(action)
File "C:\ProgramData\Anaconda3\lib\argparse.py", line 1548, in _add_action
action = super(_ArgumentGroup, self)._add_action(action)
File "C:\ProgramData\Anaconda3\lib\argparse.py", line 1358, in _add_action
self._check_conflict(action)
File "C:\ProgramData\Anaconda3\lib\argparse.py", line 1497, in _check_conflict
conflict_handler(action, confl_optionals)
File "C:\ProgramData\Anaconda3\lib\argparse.py", line 1506, in _handle_conflict_error
raise ArgumentError(action, message % conflict_string)
ArgumentError: argument --batch_size: conflicting option string: --batch_size
我无法弄清楚如何修复它。如果我从命令行运行代码,则不会发生错误。
答案 0 :(得分:1)
问题是:你在同一个python实例中多次运行cifar10.py。
Cifar10.py有这段代码:
tf.app.flags.DEFINE_integer('batch_size', 128,
"""Number of images to process in a batch.""")
在batch_size
中定义参数tf.app.flags.FLAGS
。
当您第二次运行Cifar10.py(运行文件本身或通过其他文件导入)时,TensorFlow会检查参数batch_size
是否已存在,因此它会给出错误。
如何修复:打开新的控制台(控制台 - >打开IPython控制台)并运行该文件。
命令行每次都会创建一个新的python实例,因此您不会遇到此错误。