介绍
TensorFlow 程序需要大量参数, 这些参数因为需要经常调试所以不适合硬编码在代码里, 一个可行的方法是作为命令行参数传入到程序中, 同时在程序中设定一个默认值, tf.flags 就是干这个的
代码
import tensorflow as tf
tf.flags.DEFINE_string('s1', 's1_default', 'desc')
tf.flags.DEFINE_integer('i1', 0, 'desc')
tf.flags.DEFINE_boolean('b1', False, 'desc')
tf.flags.DEFINE_float('f1', 0.0, 'desc')
FLAGS = tf.flags.FLAGS
def main(_):
print(FLAGS.s1)
print(FLAGS.i1)
print(FLAGS.b1)
print(FLAGS.f1)
if __name__ == '__main__':
tf.app.run()
运行截图
注意事项
如果定义的是
tf.flags.DEFINE_boolean()
那么当在命令行参数中出现了这个参数名字, 它的值就是 True, 不论命令行中该参数后面紧跟着 True 还是 False