tensorflow高级库
Posted 执剑长老
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tensorflow高级库相关的知识,希望对你有一定的参考价值。
1、tf.app.flags
tf定义了tf.app.flags,用于支持接受命令行传递参数,相当于接受argv。tf.app.flags.DEFINE_xxx()就是添加命令行的optional argument(可选参数),而tf.app.flags.FLAGS可以从对应的命令行参数取出参数。
import tensorflow as tf # 第一个是参数名称,第二个参数是默认值,第三个是参数描述 tf.app.flags.DEFINE_float(‘float_name‘, 0.01, ‘input a float‘) tf.app.flags.DEFINE_string(‘str_name‘, ‘def_v_1‘, "descrip1") tf.app.flags.DEFINE_integer(‘int_name‘, 10, "descript2") tf.app.flags.DEFINE_boolean(‘bool_name‘, False, "descript3") FLAGS = tf.app.flags.FLAGS # 必须带参数,否则:‘TypeError: main() takes no arguments (1 given)‘; main的参数名随意定义,无要求 def main(_): print(FLAGS.float_name) print(FLAGS.str_name) print(FLAGS.int_name) print(FLAGS.bool_name) if __name__ == ‘__main__‘: tf.app.run() # 执行main函数
执行:
(tf_learn) [@l_106 ~/ssd-balancap]$ python exc2.py 0.01 def_v_1 10 False (tf_learn) [@l_106 ~/ssd-balancap]$ python exc2.py --float_name 0.6 --str_name test_str --int_name 99 --bool_name True 0.6 test_str 99 True
2、slim
导入:
import tensorflow.contrib.slim as slim
arg_scope:用来控制每一层的默认超参数的。
定义变量
变量分为两类:模型变量和局部变量。局部变量是不作为模型参数保存的,而模型变量会再save的时候保存下来。这个玩过tensorflow的人都会明白,诸如global_step之类的就是局部变量。slim中可以写明变量存放的设备,正则和初始化规则。还有获取变量的函数也需要注意一下,get_variables是返回所有的变量。
以上是关于tensorflow高级库的主要内容,如果未能解决你的问题,请参考以下文章