ArgumentError:参数--batch_size:冲突的选项字符串:Spyder中的--batch_size

时间:2017-03-18 18:10:08

标签: tensorflow anaconda spyder

在使用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

我无法弄清楚如何修复它。如果我从命令行运行代码,则不会发生错误。

1 个答案:

答案 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实例,因此您不会遇到此错误。