简记tf.app.flags
正文
一、tf.app.flags和tf.app.run。
经常在程序中看到有tf.app.flags和tf.app.run字样的代码,这两段代码究竟是什么作用,我在这里简单记录一下。希望大神批评指正。
二、简记
首先我们通过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.’)
#本人就是再这里出错
#data_dir是数据集在程序中的名字对象,第二个才是数据集的文件地址!
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)
tf.app.run()
该函数一般都是出现在这种代码中:
if name == ‘main’:
tf.app.run()
上述第一行代码表示如果当前是从其它模块调用的该模块程序,则不会运行main函数!而如果就是直接运行的该模块程序,则会运行main函数。
tf.app.run的核心意思就是:执行程序中main函数,并解析命令行参数!
总结
转载至:链接: link.