1、TF flags的简介

1、flags可以帮助我们通过命令行来动态的更改代码中的参数。Tensorflow 使用flags定义命令行参数的方法。ML的模型中有大量需要tuning的超参数,所以此方法,迎合了需要一种灵活的方式对代码某些参数进行调整的需求
(1)、比如,在这个py文件中,首先定义了一些参数,然后将参数统一保存到变量FLAGS中,相当于赋值,后边调用这些参数的时候直接使用FLAGS参数即可
(2)、基本参数类型有三种flags.DEFINE_integer、flags.DEFINE_float、flags.DEFINE_boolean。
(3)、第一个是参数名称,第二个参数是默认值,第三个是参数描述

2、使用过程

#第一步,调用flags = tf.app.flags,进行定义参数名称,并可给定初值、参数说明
#第二步,flags参数直接赋值
#第三步,运行tf.app.run()

FLAGS = tf.flags.FLAGStf.flags.DEFINE_string('name', 'default', 'name of the model')
tf.flags.DEFINE_integer('num_seqs', 100, 'number of seqs in one batch')
tf.flags.DEFINE_integer('num_steps', 100, 'length of one seq')
tf.flags.DEFINE_integer('lstm_size', 128, 'size of hidden state of lstm')
tf.flags.DEFINE_integer('num_layers', 2, 'number of lstm layers')
tf.flags.DEFINE_boolean('use_embedding', False, 'whether to use embedding')
tf.flags.DEFINE_integer('embedding_size', 128, 'size of embedding')
tf.flags.DEFINE_float('learning_rate', 0.001, 'learning_rate')
tf.flags.DEFINE_float('train_keep_prob', 0.5, 'dropout rate during training')
tf.flags.DEFINE_string('input_file', '', 'utf8 encoded text file')
tf.flags.DEFINE_integer('max_steps', 100000, 'max steps to train')
tf.flags.DEFINE_integer('save_every_n', 1000, 'save the model every n steps')
tf.flags.DEFINE_integer('log_every_n', 10, 'log to the screen every n steps')
tf.flags.DEFINE_integer('max_vocab', 3500, 'max char number')

示例如下:

import tensorflow as tf
#取上述代码中一部分进行实验
tf.flags.DEFINE_integer('num_seqs', 100, 'number of seqs in one batch')
tf.flags.DEFINE_integer('num_steps', 100, 'length of one seq')
tf.flags.DEFINE_integer('lstm_size', 128, 'size of hidden state of lstm')#通过print()确定下面内容的功能
FLAGS = tf.flags.FLAGS #FLAGS保存命令行参数的数据
FLAGS._parse_flags() #将其解析成字典存储到FLAGS.__flags中
print(FLAGS.__flags)print(FLAGS.num_seqs)print("\nParameters:")
for attr, value in sorted(FLAGS.__flags.items()):print("{}={}".format(attr.upper(), value))
print("")

遇到问题可以参考:相关解决办法

TF flags的简介相关推荐

  1. TF之TF flags:TF flags(命令行解析)的简介、安装、使用方法之详细攻略

    TF之TF flags:TF flags(命令行解析)的简介.安装.使用方法之详细攻略 目录 TF flags的简介 TF flags的安装 TF flags的使用方法 TF flags的简介 1.f ...

  2. Python命令行解析:IDE内点击Run运行代码直接得出结果、基于TF flags(或argparse、sys.argv)在Dos内命令行(一条命令)调用代码文件得出结果

    Python命令行解析:IDE内点击Run运行代码直接得出结果.基于TF flags(或argparse.sys.argv)在Dos内命令行(一条命令)调用代码文件得出结果 目录 命令行解析 T1.采 ...

  3. tf.train.MonitoredSession 简介

    在run过程中的集成一些操作,比如输出log,保存,summary 等 基类一般用在infer阶段,训练阶段使用它的子类 tf.train.MonitoredTrainingSession 1 Mon ...

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

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

  5. python获取命令行参数 flags_命令行参数--tf.app.flags和python argparse

    在实际工作中我们一般通过运行脚本时获取命令行的参数,有两种方式: 一.利用tf.app.flags组件 tf定义了tf.app.flags,用于接受命令行传递参数,相当于接受argv.首先调用自带的D ...

  6. tf.app.flags.DEFINE_string()和tf.app.flags.FLAGS和tf.app.run()

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

  7. Py之argparse:Python库之argparse(命令行解析)简介、安装、使用方法之详细攻略

    Py之argparse:Python库之argparse(命令行解析)简介.安装.使用方法之详细攻略 导读 python中的命令行解析最简单最原始的方法是使用sys.argv来实现,更高级的可以使用a ...

  8. 深度学习-Tensorflow2.2-tf.data输入模块{2}-tf.data基础用法-09

    TF.DATA 模块 tf.data模块简介 import tensorflow as tf # 使用一个列表建立dataset dataset = tf.data.Dataset.from_tens ...

  9. Tensorflow之flags的用法介绍

    1.功能解释 tensorflow中flags用于接收命令行传递参数,可以全局的更改代码中的参数.Tensorflow使用flags类定义命令行参数.网络模型中有大量的超参数需要我们赋值,所以此方法, ...

  10. tensorflow代码中的tf.app.run()

    一般 if __name__ == '__main__':之后紧接着的是主函数的运行入口,但在tensorflow的代码里头经常可以看到其后面的是tf.app.run(),这个究竟是什么意思呢??? ...

最新文章

  1. 转贴一篇关于NAT(DNAT)以及PAT的讨论
  2. MYSQL AND OR的联用
  3. mcu比较器技巧和诀窍_如何准备技术面试-技巧和窍门,以帮助您表现最好
  4. [Axios] 基于Promise封装属于自己的Ajax库
  5. 如何将CSS3 transforms应用于背景图像
  6. 中国最大照明企业贱卖给外资 创始人遭下狱 刘强东怒斥:有些人没有道德底线!...
  7. hadoop longwritable类
  8. Kalman Filter—Data Fusion, Covarince Matrix, State Space Representation, Observation
  9. docker 镜像源_前端 Docker 镜像体积优化
  10. Python软件安装教程
  11. SVN安装及使用教程图文详解
  12. 为什么有些蓝牙耳机有底噪?高音质便宜实惠的蓝牙耳机分享
  13. 计算机登录域时很慢,新装WIN7电脑加入域后,变的很慢
  14. 深度学习论文阅读图像分类篇(六):SENet《Squeeze-and-Excitation Networks》
  15. Kotlin Suppress 的非常规用法
  16. 输入一个三位数,输出它 个位、十位、百位 数字之和
  17. 求职有 Pulsar | 小红书、Shopee 新加坡、StreamNative 多个热招岗位
  18. 漫反射实现 - UnityShader
  19. 网页制作:一个简易美观的登录界面
  20. 解题记录 LeetCode 下一个更大元素 单调栈

热门文章

  1. win10怎么录制电脑屏幕 电脑录制视频
  2. NB-IoT窄带物联网的优势特点
  3. 数据统计并制作韦恩图
  4. Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day33】—— 手撸算法2
  5. java 视频分辨率_javaCV开发详解之15:视频帧像素格式转换
  6. Python学习笔记4---类和对象
  7. java统计误码率_MATLAB通信工具箱来计算误码率
  8. Flutter: Dart 参数,以及 @required 与 required
  9. numpy使用np.dot函数或者@操作符计算两个numpy数组的点积数量积(dot product、scalar product)
  10. 1和new Number(1)的区别