TensorFlow之命令行参数详解
tensorflow
一个面向所有人的开源机器学习框架
项目地址:https://gitcode.com/gh_mirrors/te/tensorflow
免费下载资源
·
TensorFlow定义了tf.app.flags(也可以用它的别名tf.flags),用于支持接受命令行传递参数,相当于接受argv。来看一个例子:
import tensorflow as tf
#第一个是参数名称,第二个参数是默认值,第三个是参数描述
tf.app.flags.DEFINE_string('str_name', 'def_v_1',"descript1")
tf.app.flags.DEFINE_integer('int_name', 10,"descript2")
tf.app.flags.DEFINE_boolean('bool_name', False, "descript3")
FLAGS = tf.app.flags.FLAGS
def main(_):
print(FLAGS.str_name)
print(FLAGS.int_name)
print(FLAGS.bool_name)
if __name__ == '__main__':
tf.app.run() #run main function
执行上述程序,其运行结果如下所示:
当然,如果你在使用命令行的时候,只输入变量名,而不给出变量值,程序就会报错。如上图中命令行里最后一个执行实例所示。
因为Python是解释型语言,所以main函数并非是必须的。另外, 加上_parse_flags()后的作用是可以把FLAGS.__flags变成一个字典。下面的代码演示了遍历并输出所有命令行参数及它们获得之值的结果:
import tensorflow as tf
tf.flags.DEFINE_integer("embedding_dim", 100, "descript1")
tf.flags.DEFINE_float("l2_reg_lambda", 0.0, "descript2")
tf.flags.DEFINE_string("training_files", None, "descript3")
FLAGS = tf.flags.FLAGS
FLAGS._parse_flags()
print("\nParameters:")
for attr, value in sorted(FLAGS.__falgs.items());
print("{}={}".format(attr.upper(), value))
print("")
if FLAGS.training_files==None:
print "Input Files List is empty. --training files argument."
exit()
执行结果如下图所示:
(本文完)
GitHub 加速计划 / te / tensorflow
184.55 K
74.12 K
下载
一个面向所有人的开源机器学习框架
最近提交(Master分支:2 个月前 )
a49e66f2
PiperOrigin-RevId: 663726708
2 个月前
91dac11a
This test overrides disabled_backends, dropping the default
value in the process.
PiperOrigin-RevId: 663711155
2 个月前
更多推荐
已为社区贡献8条内容
所有评论(0)