网易首页 > 网易号 > 正文 申请入驻

简单介绍TensorFlow中关于tf.app.flags命令行参数解析模块

0
分享至

这篇文章主要介绍了TensorFlow中关于tf.app.flags命令行参数解析模块,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

tf.app.flags命令行参数解析模块

说道命令行参数解析,就不得不提到 python 的 argparse 模块,详情可参考我之前的一篇文章:python argparse 模块命令行参数用法及说明。

在阅读相关工程的源码时,很容易发现 tf.app.flags 模块的身影。其作用与 python 的 argparse 类似。

直接上代码实例,新建一个名为 test_flags.py 的文件,内容如下:

#coding:utf-8
import tensorflow as tf
FLAGS = tf.app.flags.FLAGS
# tf.app.flags.DEFINE_string("param_name", "default_val", "description")
tf.app.flags.DEFINE_string("train_data_path", "/home/feige", "training data dir")
tf.app.flags.DEFINE_string("log_dir", "./logs", " the log dir")
tf.app.flags.DEFINE_integer("train_batch_size", 128, "batch size of train data")
tf.app.flags.DEFINE_integer("test_batch_size", 64, "batch size of test data")
tf.app.flags.DEFINE_float("learning_rate", 0.001, "learning rate")
def main(unused_argv):
train_data_path = FLAGS.train_data_path
print("train_data_path", train_data_path)
train_batch_size = FLAGS.train_batch_size
print("train_batch_size", train_batch_size)
test_batch_size = FLAGS.test_batch_size
print("test_batch_size", test_batch_size)
size_sum = tf.add(train_batch_size, test_batch_size)
with tf.Session() as sess:
sum_result = sess.run(size_sum)
print("sum_result", sum_result)
# 使用这种方式保证了,如果此文件被其他文件 import的时候,不会执行main 函数
if __name__ == '__main__':
tf.app.run() # 解析命令行参数,调用main 函数 main(sys.argv)

上述代码已给出较为详细的注释,在此不再赘述。

该文件的调用示例以及运行结果如下所示

如果需要修改默认参数的值,则在命令行传入自定义参数值即可,若全部使用默认参数值,则可直接在命令行运行该 python 文件。

读者可能会对 tf.app.run() 有些疑问,在上述注释中也有所解释,但要真正弄清楚其运行原理

还需查阅其源代码

def run(main=None, argv=None):
"""Runs the program with an optional 'main' function and 'argv' list."""
f = flags.FLAGS
# Extract the args from the optional `argv` list.
args = argv[1:] if argv else None
# Parse the known flags from that list, or from the command
# line otherwise.
# pylint: disable=protected-access
flags_passthrough = f._parse_flags(args=args)
# pylint: enable=protected-access
main = main or sys.modules['__main__'].main
# Call the main function, passing through any arguments
# to the final program.
sys.exit(main(sys.argv[:1] + flags_passthrough))

flags_passthrough=f._parse_flags(args=args)这里的_parse_flags就是我们tf.app.flags源码中用来解析命令行参数的函数。

所以这一行就是解析参数的功能;

下面两行代码也就是 tf.app.run 的核心意思:执行程序中 main 函数,并解析命令行参数!

本文地址:https://www.linuxprobe.com/tensorflow-linux-flags.html

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
越闹越大!央视发火了:金融和烟草等国企的“近亲繁殖”太普遍

越闹越大!央视发火了:金融和烟草等国企的“近亲繁殖”太普遍

鹏飞深文
2024-05-02 13:09:39
拉萨贡嘎机场回应多个飞拉萨航班被迫返航:受大风天气影响,建议游客买上午航班

拉萨贡嘎机场回应多个飞拉萨航班被迫返航:受大风天气影响,建议游客买上午航班

上游新闻
2024-05-02 13:37:25
钓鱼岛保卫战凌晨爆发,日本发动“偷袭”,解放军双航母消失无踪

钓鱼岛保卫战凌晨爆发,日本发动“偷袭”,解放军双航母消失无踪

朝晖前哨
2024-05-02 13:58:19
广东11地市打破4月雨量历史记录:梅州平均雨量为常年3.5倍

广东11地市打破4月雨量历史记录:梅州平均雨量为常年3.5倍

澎湃新闻
2024-05-02 18:56:39
有人说,像这样的高速公路,一枚导弹就可以造成巨大损坏

有人说,像这样的高速公路,一枚导弹就可以造成巨大损坏

作家李楠枫
2024-03-10 07:47:42
福建舰冒烟明显,看来是烧油的和核动力无关

福建舰冒烟明显,看来是烧油的和核动力无关

三叔的装备空间
2024-05-02 09:34:14
梅大高速塌方救援难点披露!救援作业面较窄,部分车辆曾燃烧

梅大高速塌方救援难点披露!救援作业面较窄,部分车辆曾燃烧

南方都市报
2024-05-02 16:40:15
5月2日俄乌最新:大戏开唱

5月2日俄乌最新:大戏开唱

西楼饮月
2024-05-02 17:07:43
闹大了!上海一女子称三代都是税务局人,评论炸锅,官方回应来了

闹大了!上海一女子称三代都是税务局人,评论炸锅,官方回应来了

鹏飞深文
2024-05-01 14:42:24
我国癌症高发,都是包子惹得祸?提醒:4种食物才是“含铝大户”

我国癌症高发,都是包子惹得祸?提醒:4种食物才是“含铝大户”

奇妙的本草
2024-04-29 19:00:06
震惊!21岁男子跳江自杀!2年赚51万给女友,自己却吃10元外卖…

震惊!21岁男子跳江自杀!2年赚51万给女友,自己却吃10元外卖…

火山诗话
2024-05-02 14:18:53
山西恒山景区落石砸伤游客,景区称落石已清理,正有序组织游客下山

山西恒山景区落石砸伤游客,景区称落石已清理,正有序组织游客下山

红星新闻
2024-05-02 19:29:10
强烈建议:农村不得私人养鸡或不许超过5只,鸡粪污染地下水

强烈建议:农村不得私人养鸡或不许超过5只,鸡粪污染地下水

鹏飞深文
2024-05-02 13:05:43
穿和服女孩父亲愤怒发声!不道歉就带女儿出国,网友集体力挺!

穿和服女孩父亲愤怒发声!不道歉就带女儿出国,网友集体力挺!

苗苗情感说
2024-05-02 15:58:55
周鸿祎回应“迈巴赫中标者未付清余款”:褚会长需要时间把款筹齐

周鸿祎回应“迈巴赫中标者未付清余款”:褚会长需要时间把款筹齐

IT之家
2024-05-02 09:34:25
有亲属到现场痛哭,梅大事故遇难者增至48人,一位深圳小伙救六人

有亲属到现场痛哭,梅大事故遇难者增至48人,一位深圳小伙救六人

小白探影8
2024-05-02 17:09:25
根本挤不进去一点!“今天的灵隐寺是不是有一亿人?”

根本挤不进去一点!“今天的灵隐寺是不是有一亿人?”

都市快报橙柿互动
2024-05-02 14:59:32
空中翻滚10多次连撞数车,多人受伤!江西一辆未上牌特斯拉发生严重车祸

空中翻滚10多次连撞数车,多人受伤!江西一辆未上牌特斯拉发生严重车祸

都市快报橙柿互动
2024-05-01 23:37:48
侮辱性极强!官方回顾比赛 吴艳妮彻底消失掉出镜头全程未露脸

侮辱性极强!官方回顾比赛 吴艳妮彻底消失掉出镜头全程未露脸

厝边人侃体育
2024-05-02 10:39:58
副国级乌云其木格突然去世,官方回应死因,疑似最后露面照流出

副国级乌云其木格突然去世,官方回应死因,疑似最后露面照流出

求实者
2024-05-01 19:46:59
2024-05-02 19:52:49
linux系统运维之家
linux系统运维之家
科技资讯
1392文章数 7553关注度
往期回顾 全部

科技要闻

4月交付量理想超问界,小米首月交付超七千

头条要闻

菲海警发言人称菲方在黄岩岛已经越过红线 中使馆回应

头条要闻

菲海警发言人称菲方在黄岩岛已经越过红线 中使馆回应

体育要闻

这场欧冠,多特的他诠释了什么叫"台柱子"

娱乐要闻

黄子韬被曝求婚徐艺洋 大量亲密照曝光

财经要闻

日元如此疯狂波动,背后谁在收割?

汽车要闻

预售2.89-3.49万 奔腾小马正式开启预售

态度原创

数码
家居
艺术
本地
公开课

数码要闻

华米发布 Amazfit Bip 5 Unity 手表:不锈钢边框,59.99 美元

家居要闻

心之所栖 黑白灰色系打造设计专属感

艺术要闻

造科幻之物于园林 “天工开悟——夏航雕塑展”于南池子美术馆呈现

本地新闻

食味印象 | 潍坊:碳水脑袋的人间乐园

公开课

父亲年龄越大孩子越不聪明?

无障碍浏览 进入关怀版