1. tf.app.run()和tf.app.flags.DEFINE_float()、tf.app.flags.DEFINE_integer()、tf.app.flags.DEFINE_string()
tf.app.run() 此函数一般不传入参数,直接调用
tf.app.flags.DEFINE_float() 传入所需要的参数名称,参数值,同时还可已传入参数说明,其中参数值的类型与所使用的函数类型一致,即函数名称中DEFINE后所跟的类型,参数名称和参数说明需用字符串类型('illustration')。
在代码中使用tf.app.run()处理flag解析,然后执行主函数,在执行main函数之前首先进行flags的解析,也就是说Tensorflow通过设置flags来传递tf.app.run()所需的参数,可以直接在程序运行前初始化flags,也可以再运行程序的时候设置命令行参数来达到传参的目的。
下面是一段实际使用的代码
import tensorflow as tf
tf.app.flags.DEFINE_float('learning_rate', 0.01, 'Intital learning rate')
tf.app.flags.DEFINE_integer('batch_size', 50, 'num of per SGD ')
tf.app.flags.DEFINE_string('data_path', './data/', 'data save path')
FLAGS = tf.app.flags.flags()
def main():
learning rate = FLAGS.learning_rate
batch size = FLAGS.batch_size
image path = FLAGS.data_path
if _name_ == 'main':
tf.app.run()
此段代码在程序运行前初始化flags,然后使用tf.app.run()处理flag解析。
2.tf.logging.set_verbosity() 为将要记录的日志设置入口
tf.logging.set_verbosity(tf.logging.DEBUG)