当前位置:网站首页>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
边栏推荐
- 网络安全工程师演示:原来***是这样获取你的计算机管理员权限的!【维持】
- Cos start source code and creator
- After brushing leetcode's linked list topic, I found a secret!
- Don't go! Here is a note: picture and text to explain AQS, let's have a look at the source code of AQS (long text)
- JetCache埋点的骚操作,不服不行啊
- 解決pl/sql developer中資料庫插入資料亂碼問題
- 被老程式設計師壓榨怎麼辦?我不想辭職
- 【效能優化】納尼?記憶體又溢位了?!是時候總結一波了!!
- WeihanLi.Npoi 1.11.0/1.12.0 Release Notes
- Swagger 3.0 天天刷屏,真的香嗎?
猜你喜欢
安装Anaconda3 后,怎样使用 Python 2.7?
DRF JWT authentication module and self customization
词嵌入教程
连肝三个通宵,JVM77道高频面试题详细分析,就这?
2018个人年度工作总结与2019工作计划(互联网)
快快使用ModelArts,零基礎小白也能玩轉AI!
“颜值经济”的野望:华熙生物净利率六连降,收购案遭上交所问询
Network programming NiO: Bio and NiO
Grouping operation aligned with specified datum
ipfs正舵者Filecoin落地正当时 FIL币价格破千来了
随机推荐
C++和C++程序员快要被市场淘汰了
Anomaly detection method based on SVM
How do the general bottom buried points do?
使用 Iceberg on Kubernetes 打造新一代云原生数据湖
Analysis of ThreadLocal principle
《Google軟體測試之道》 第一章google軟體測試介紹
In depth understanding of the construction of Intelligent Recommendation System
(1) ASP.NET Introduction to core3.1 Ocelot
Vue 3 responsive Foundation
自然语言处理之命名实体识别-tanfordcorenlp-NER(一)
使用Asponse.Words處理Word模板
Elasticsearch 第六篇:聚合統計查詢
6.8 multipartresolver file upload parser (in-depth analysis of SSM and project practice)
Why do private enterprises do party building? ——Special subject study of geek state holding Party branch
Azure Data Factory(三)整合 Azure Devops 實現CI/CD
xmppmini 專案詳解:一步一步從原理跟我學實用 xmpp 技術開發 4.字串解碼祕笈與訊息包
车的换道检测
[译] 5个Vuex插件,给你的下个VueJS项目
词嵌入教程
mac 下常用快捷键,mac启动ftp