使用tf.app.flags时出错

Tav*_*oli 1 flags tensorflow

tf.app.flags在我的tensorflow程序中使用了这样的:

flags = tf.app.flags
FLAGS = flags.FLAGS

flags.DEFINE_string('model_dir', './models','Save checkpoint')
.
.
.
if __name__ == "__main__":    
#    main()
    tf.app.run()  
Run Code Online (Sandbox Code Playgroud)

但是当我运行我的代码两次时会出现这个错误:

ArgumentError: argument --model_dir: conflicting option string: --model_dir
Run Code Online (Sandbox Code Playgroud)

我认为tensorflow为--model_dir创建了一个参数,当它再次运行时,它尝试再次创建--model_dir的参数,但是存在--model_dir冲突.

有没有办法解决这个问题或者我使用python参数tf.app.falgs

pbo*_*ger 6

我的猜测是你在像Jupyter/iPython笔记本这样的环境中工作.

您遇到此问题的原因是标记数据似乎在Python会话中维护. 即使重置变量FLAGS,tf.app.flags.FLAGS.__getattr__('model_dir')也等于 ./models.

如果您使用的是笔记本,我建议您将标志定义放在单独的单元格中.我发现重置的唯一方法tf.app.flags.FLAGS是重启内核/会话.