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高级库的主要内容,如果未能解决你的问题,请参考以下文章

Tensorflow : tf.slim库解读

Tensorflow高级封装

第二十二节,TensorFlow中的图片分类模型库slim的使用

高级openg 混合,一个完整程序

Java多线程与并发库高级应用-工具类介绍

Java多线程与并发库高级应用-工具类介绍