欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

tf.app.flags和tf.app.run的使用

发布时间:2023/12/2 编程问答 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 tf.app.flags和tf.app.run的使用 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

tf.app.flagstf.app.run的使用

tf.app.flags主要用于处理命令行参数的解析工作,其实可以理解为一个封装好了的argparse包(argparse是一种结构化的数据存储格式,类似于JsonXML)。

 

我们通过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.FLAGSprint(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()

该函数一般都是出现在这种代码中:

import tensorflow as tfflags = tf.flagsflags.DEFINE_string('str_name', 'hjd', 'str_vale')flags.DEFINE_integer('int_name', 200, 'int_value')flags.DEFINE_bool('bool_name', False, 'bool_value')flags = flags.FLAGS #必须带参数,否则:'TypeError: main() takes no arguments (1 given)';#main的参数名随意定义,无要求 def main(agr_123):print(flags.str_name)print(flags.int_name)print(flags.bool_name)if __name__ == '__main__':tf.app.run()#执行main函数

上述第一行代码表示如果当前是从其它模块调用的该模块程序,则不会运行main函数!而如果就是直接运行的该模块程序,则会运行main函数。

总结

以上是生活随笔为你收集整理的tf.app.flags和tf.app.run的使用的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。