当前位置:网站首页>TF flags的简介
TF flags的简介
2020-11-06 01:22:00 【IT界的小小小学生】
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.FLAGS
tf.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("")
遇到问题可以参考:相关解决办法

版权声明
本文为[IT界的小小小学生]所创,转载请带上原文链接,感谢
https://vip01.blog.csdn.net/article/details/102743006
边栏推荐
- 通过深层神经网络生成音乐
- Top 10 best big data analysis tools in 2020
- 有关PDF417条码码制的结构介绍
- 数字城市响应相关国家政策大力发展数字孪生平台的建设
- Aprelu: cross border application, adaptive relu | IEEE tie 2020 for machine fault detection
- How do the general bottom buried points do?
- Technical director, to just graduated programmers a word - do a good job in small things, can achieve great things
- (2)ASP.NET Core3.1 Ocelot路由
- 词嵌入教程
- JetCache埋点的骚操作,不服不行啊
猜你喜欢
tensorflow之tf.tile\tf.slice等函数的基本用法解读
哇,ElasticSearch多字段权重排序居然可以这么玩
事半功倍:在没有机柜的情况下实现自动化
谁说Cat不能做链路跟踪的,给我站出来
如何对Pandas DataFrame进行自定义排序
(1) ASP.NET Introduction to core3.1 Ocelot
大数据应用的重要性体现在方方面面
Didi elasticsearch cluster cross version upgrade and platform reconfiguration
Cos start source code and creator
阿里云Q2营收破纪录背后,云的打开方式正在重塑
随机推荐
PLC模拟量输入和数字量输入是什么
Ubuntu18.04上安裝NS-3
幽默:黑客式编程其实类似机器学习!
微服務 - 如何解決鏈路追蹤問題
GUI 引擎评价指标
CCR炒币机器人:“比特币”数字货币的大佬,你不得不了解的知识
python过滤敏感词记录
Microservices: how to solve the problem of link tracing
使用Asponse.Words處理Word模板
技術總監,送給剛畢業的程式設計師們一句話——做好小事,才能成就大事
熬夜总结了报表自动化、数据可视化和挖掘的要点,和你想的不一样
Cocos Creator 原始碼解讀:引擎啟動與主迴圈
Sort the array in ascending order according to the frequency
免费的专利下载教程(知网、espacenet强强联合)
Want to do read-write separation, give you some small experience
mac 安装hanlp,以及win下安装与使用
Jmeter——ForEach Controller&Loop Controller
A debate on whether flv should support hevc
Pattern matching: The gestalt approach一种序列的文本相似度方法
Python自动化测试学习哪些知识?