tf.app.flags.DEFINE_string()和tf.app.flags.FLAGS和tf.app.run()
2018-03-27 09:49
555 查看
tf.app.flags
tf.app.flags主要用于处理命令行参数的解析工作,其实可以理解为一个封装好了的argparse包(argparse是一种结构化的数据存储格式,类似于Json、XML)。首先我们通过
tf.app.flags来调用这个
flags.py文件,这样我们就可以用
flags.DEFINE_interger/float()来添加命令行参数,而
FLAGS=flags.FLAGS可以实例化这个解析参数的类从对应的命令行参数取出参数。
新建test.py文件,并输入如下代码,代码的功能是创建几个命令行参数,然后把命令行参数输出显示
import tensorflow as tf flags = tf.app.flags flags.DEFINE_string('data_dir', '/tmp/mnist', 'Directory with the MNIST data.') flags.DEFINE_integer('batch_size', 5, 'Batch size.') flags.DEFINE_integer('num_evals', 1000, 'Number of batches to evaluate.') FLAGS = flags.FLAGS print(FLAGS.data_dir, FLAGS.batch_size, FLAGS.num_evals)在命令行中输入
test.py -h就可以查看帮助信息,也就是
Directory with the MNIST data.,
Batch size和
Number of batches to evaluate这样的消息。
在命令行中输入
test.py --batchsize 10就可以将batch_size的值修改为10!
tf.app.run()
该函数一般都是出现在这种代码中:if __name__ == '__main__': tf.app.run()上述第一行代码表示如果当前是从其它模块调用的该模块程序,则不会运行main函数!而如果就是直接运行的该模块程序,则会运行main函数。
flags_passthrough=f._parse_flags(args=args)这里的
parse_flags就是我们
tf.app.flags源码中用来解析命令行参数的函数。所以这一行就是解析参数的功能;
下面两行代码也就是
tf.app.run的核心意思:执行程序中main函数,并解析命令行参数!
作者:DDM_dl
链接:https://www.jianshu.com/p/55cbd3753ee8
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关文章推荐
- tf.app.flags.DEFINE_string()和tf.app.flags.FLAGS
- tf.flags.DEFINE_string
- tf.app.run(main=main, argv=[sys.argv[0]])
- tensorflow中的tf.app.run()
- FLAGS = tf.app.flags.FLAGS
- 关于 tf.app.flags
- 【Tensorflow】tf.app.run()与命令行参数解析
- tensorflow学习笔记十四:tensorflow中的tf.app.run()
- tensorflow(学习一)中的tf.app.flags函数定义命令行参数
- tf.app.run()
- tf.app.run()
- TensorFlow 中 tf.app.flags.FLAGS 的用法介绍
- TensorFlow中flags传递参数 解读tf.app.flags
- tf.app.run()
- tf.app.run
- tf.app.flags.FLAGS使用
- tf.app.flags
- 18、使用 tf.app.flags 接口定义命令行参数
- tf.app.run()
- tensorflow中tf.app.run()的含义