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


娇气演变小甜瓜
娇气演变小甜瓜 2022-09-19 16:33:09 66588
分类专栏: 资讯

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

目录

TF flags的简介

TF flags的安装

TF flags的使用方法


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()

  1. import tensorflow as tf
  2. 第一个是参数名称,第二个参数是默认值,第三个是参数描述
  3. 第一步,调用flags = tf.app.flags,进行定义参数名称,并可给定初值、参数说明
  4. flags = tf.app.flags
  5. flags.DEFINE_integer("epoch", 25, "Epoch to train [25]")
  6. flags.DEFINE_float("learning_rate", 0.0002, "Learning rate of for adam [0.0002]")
  7. flags.DEFINE_float("beta1", 0.5, "Momentum term of adam [0.5]")
  8. flags.DEFINE_boolean("train", False, "True for training, False for testing [False]")
  9. flags.DEFINE_boolean("crop", False, "True for training, False for testing [False]")
  10. flags.DEFINE_boolean("visualize", False, "True for visualizing, False for nothing [False]")
  11. FLAGS = flags.FLAGS
  12. def main(_):
  13. 第二步,flags参数直接赋值
  14. pp.pprint(flags.FLAGS.__flags)
  15. if FLAGS.input_width is None:
  16. FLAGS.input_width = FLAGS.input_height
  17. if FLAGS.output_width is None:
  18. FLAGS.output_width = FLAGS.output_height
  19. if not os.path.exists(FLAGS.checkpoint_dir):
  20. os.makedirs(FLAGS.checkpoint_dir)
  21. if not os.path.exists(FLAGS.sample_dir):
  22. os.makedirs(FLAGS.sample_dir)
  23. ……
  24. input_width=FLAGS.input_width,
  25. input_height=FLAGS.input_height,
  26. output_width=FLAGS.output_width,
  27. output_height=FLAGS.output_height,
  28. batch_size=FLAGS.batch_size,
  29. sample_num=FLAGS.batch_size,
  30. y_dim=10,
  31. dataset_name=FLAGS.dataset,
  32. input_fname_pattern=FLAGS.input_fname_pattern,
  33. crop=FLAGS.crop,
  34. checkpoint_dir=FLAGS.checkpoint_dir,
  35. sample_dir=FLAGS.sample_dir)
  36. if FLAGS.train:
  37. dcgan.train(FLAGS)
  38. else:
  39. if not dcgan.load(FLAGS.checkpoint_dir)[0]:
  40. raise Exception("[!] Train a model first, then run test mode")
  41. if __name__ == '__main__':
  42. 第三步,运行tf.app.run()
  43. tf.app.run()

TF flags的安装

直接从TF中调用,导入即可使用

  1. import tensorflow as tf
  2. flags = tf.app.flags

TF flags的使用方法

1、第一步,py文件的内部函数的定义
T1、tf定义了tf.app.flags,用于支持接受命令行传递参数,相当于接受argv。

  1. import tensorflow as tf
  2. 1、第一个是参数名称,第二个参数是默认值,第三个是参数描述
  3. tf.app.flags.DEFINE_string('str_name', 'def_v_1',"descrip1")
  4. tf.app.flags.DEFINE_integer('int_name', 10,"descript2")
  5. tf.app.flags.DEFINE_boolean('bool_name', False, "descript3")
  6. FLAGS = tf.app.flags.FLAGS
  7. 必须带参数,否则:'TypeError: main() takes no arguments (1 given)'; main的参数名随意定义,无要求
  8. def main(_):
  9. print(FLAGS.str_name)
  10. print(FLAGS.int_name)
  11. print(FLAGS.bool_name)
  12. if __name__ == '__main__':
  13. tf.app.run() 2、执行main函数

T2、一个简单的示例程序来展示如何使用 command line flags,除了使用 absl 外,还可以使用 argparser。比如定义下边文件名称为test_flags.py

  1. from absl import flags
  2. from absl import app
  3. FLAGS = flags.FLAGS
  4. 1、第一个是参数名称,第二个参数是默认值,第三个是参数描述
  5. flags.DEFINE_string('model', None, 'model to run')
  6. def main(argv):
  7. print('Hello World')
  8. print('selected model', FLAGS.model)
  9. if __name__ == '__main__':
  10. app.run(main) 2、执行main函数

2、第二步,在命令行中运行上边的示例程序

  1. 1、运行示例程序
  2. python test_flags.py
  3. 2、更改相应参数
  4. python test_flags.py --model "My model"
  5. 3、获得帮助信息
  6. python test_flags.py -help
  7. python test_flags.py -helpfull

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=3613
赞同 0
评论 0 条
娇气演变小甜瓜L0
粉丝 0 发表 4 + 关注 私信
上周热门
Kingbase用户权限管理  2008
信刻全自动光盘摆渡系统  1738
信刻国产化智能光盘柜管理系统  1408
银河麒麟添加网络打印机时,出现“client-error-not-possible”错误提示  1003
银河麒麟打印带有图像的文档时出错  907
银河麒麟添加打印机时,出现“server-error-internal-error”  699
麒麟系统也能完整体验微信啦!  645
统信桌面专业版【如何查询系统安装时间】  617
统信操作系统各版本介绍  609
统信桌面专业版【全盘安装UOS系统】介绍  583
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

添加我为好友,拉您入交流群!

请使用微信扫一扫!