我在张量流程序中使用了flags = tf.app.flags
FLAGS = flags.FLAGS
flags.DEFINE_string('model_dir', './models','Save checkpoint')
.
.
.
if __name__ == "__main__":
# main()
tf.app.run()
,如下所示:
ArgumentError: argument --model_dir: conflicting option string: --model_dir
但是当我两次运行我的代码时会出现这个错误:
tf.app.falgs
我认为tensorflow为--model_dir创建一个参数,当它再次运行时,它会尝试再次为--model_dir创建一个参数,但是存在冲突--model_dir。
有没有办法解决这个问题,或者我对@Test(expected=MyException.class)
and to assert that the exception has occurred while you're calling your method
//use the mock and call another method that throws an error
when(yourMock.anotherMethod()).thenThrow(new MyException(Constant.ERROR_CODE));
使用了python参数?
答案 0 :(得分:6)
我的猜测是你在像Jupyter / iPython笔记本这样的环境中工作。
您遇到此问题的原因是标记数据似乎在Python会话中维护。即使您重置变量FLAGS,tf.app.flags.FLAGS.__getattr__('model_dir')
也等于./models
。
如果您使用的是笔记本,我建议您将标记定义放在单独的单元格中。我发现重置tf.app.flags.FLAGS
的唯一方法是重启内核/会话。
答案 1 :(得分:0)
您可以尝试这样:
#define flags
tf.flags.DEFINE_integer("age", 17, "age of user(default:20)")
tf.flags.DEFINE_boolean("drink_allow", False, "if can drink or not(default:False)")
tf.flags.DEFINE_float("weight", 55.55, "weight of user(default:55.55kg)")
FLAGS = tf.flags.FLAGS #init flags
FLAGS._parse_flags() # parse flags
for attr,value in FLAGS.__flags.items():
print("attr:%s\tvalue:%s" % (attr,str(value)))