Tensorflow之flags的用法介绍

    技术2022-07-10  161

    1.功能解释

    tensorflow中flags用于接收命令行传递参数,可以全局的更改代码中的参数。Tensorflow使用flags类定义命令行参数。网络模型中有大量的超参数需要我们赋值,所以此方法,提供了一种简便的方式对模型超参数进行调整。

    整体思路就是,我们可以现在一个.py文件内定义参数,然后将参数保存至变量集FLAGS里,即我们对超参数的赋值,后面需要调用时,我们通过FLAGS对象来调用。其实,这和argparse的用法、功能是类似的。

    基本定义函数类型,分别定义不同数据类型: ①flags.DEFINE_integer(1,2,3),②flags.DEFINE_float(1,2,3),③flags.DEFINE_boolean(1,2,3)

    其中1:参数名称。2:默认值。3:参数描述。

    2.使用流程

    在文件中调用flags = tf.app.flags,定义参数名称,默认值,及参数描述

    然后我们在接下来要用到某一定义参数的时候使用flags参数直接赋值即可

    最后,在main函数运行时,先调用tf.app.run(),先处理flag解析,再执行main函数。

    3.注意的点

    值得注意的是,我们可以对具有默认值的参数在命令行中直接修改默认值。

    有两种预声明flags和Flags对象的方法: ①flags = tf.app.flags,FLAGS = flags.FLAGS,老版本 ②flags = tf.flags,FLAGS = flags.FLAGS,新版本  

    4.代码实践

    这里我们贴出两篇博客,代码介绍的相对来说很详细:

    https://blog.csdn.net/qq_36653505/article/details/81124533

    https://blog.csdn.net/qq_41185868/article/details/82913886

     

    Processed: 0.016, SQL: 9