TensorFlow tf.app&tf.app.flags用法介绍

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: TensorFlow tf.app&tf.app.flags用法介绍TensorFlow tf.app argparse  tf.app.flags下面介绍 tf.app.flags.

TensorFlow tf.app&tf.app.flags用法介绍

tf.app.flags

下面介绍 tf.app.flags.FLAGS的使用,主要是在用命令行执行程序时,需要传些参数,其实也就可以理解成对argparse库进行的封装,示例代码如下

  1. #coding:utf-8 
  2.  
  3. # 学习使用 tf.app.flags 使用,全局变量 
  4. # 可以再命令行中运行也是比较方便,如果只写 python app_flags.py 则代码运行时默认程序里面设置的默认设置 
  5. # 若 python app_flags.py --train_data_path <绝对路径 train.txt> --max_sentence_len 100 
  6. # --embedding_size 100 --learning_rate 0.05 代码再执行的时候将会按照上面的参数来运行程序 
  7.  
  8. import tensorflow as tf 
  9.  
  10. FLAGS = tf.app.flags.FLAGS 
  11.  
  12. # tf.app.flags.DEFINE_string("param_name", "default_val", "description") 
  13. tf.app.flags.DEFINE_string("train_data_path", "/desktop/train.txt", "training data dir"
  14. tf.app.flags.DEFINE_string("log_dir", "./logs", " the log dir"
  15. tf.app.flags.DEFINE_integer("max_sentence_len", 80, "max num of tokens per query"
  16. tf.app.flags.DEFINE_integer("embedding_size", 50, "embedding size"
  17.  
  18. tf.app.flags.DEFINE_float("learning_rate", 0.001, "learning rate"
  19.  
  20.  
  21. def main(unused_argv): 
  22. train_data_path = FLAGS.train_data_path 
  23. print("train_data_path", train_data_path) 
  24. print("*" * 30
  25. max_sentence_len = FLAGS.max_sentence_len 
  26. print("max_sentence_len", max_sentence_len) 
  27. print("*" * 30
  28. embdeeing_size = FLAGS.embedding_size 
  29. print("embedding_size", embdeeing_size) 
  30. print("*" * 30
  31. abc = tf.add(max_sentence_len, embdeeing_size) 
  32.  
  33. init = tf.global_variables_initializer() 
  34.  
  35. with tf.Session() as sess: 
  36. sess.run(init) 
  37. print("abc", sess.run(abc)) 
  38.  
  39. # 使用这种方式保证了,如果此文件被其他文件 import的时候,不会执行main 函数 
  40. if __name__ == '__main__'
  41. tf.app.run() # 解析命令行参数,调用main 函数 main(sys.argv) 
  42.  
  43.  

两种调用方式:

方式一:

  1. python tf_app_flag.py 

结果如下:

img_67450b613c5f7fc0fe3847fb0a835292.png

方式二:

  1. python app_flags.py --train_data_path ./test.py --max_sentence_len 100 --embedding_size 100 --learning_rate 0.05 
  2.  
img_6ef4a7adb031bc3e6fd9ba4b09899f19.png

tf.app.run()

该函数一般都是出现在这种代码中:

  1. if __name__ == '__main__'
  2. tf.app.run() 

上述第一行代码表示如果当前是从其它模块调用的该模块程序,则不会运行main函数!而如果就是直接运行的该模块程序,则会运行main函数。

具体第二行的功能从源码开始分析,源码如下:

img_4fa8b3a66518e7542aa674515c5623ea.png

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

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


参考:



MARSGGBO原创





2018-8-5



目录
相关文章
|
5月前
|
JavaScript API 开发工具
uni.app cell的用法以及相关api
uni.app cell的用法以及相关api
85 0
App Inventor 2 列表选择框(ListPicker)用法示例
详解App Inventor 2 列表选择框(ListPicker)的用法示例。AppInventor列表选择框,AppInventor2列表选择框,用法示例。
231 0
App Inventor 2 列表选择框(ListPicker)用法示例
|
JavaScript
Angular 应用里 server.ts 文件的 APP_BASE_HREF token 的用法?
Angular 应用里 server.ts 文件的 APP_BASE_HREF token 的用法?
|
11天前
|
TensorFlow 算法框架/工具
Tensorflow学习笔记(二):各种tf类型的函数用法集合
这篇文章总结了TensorFlow中各种函数的用法,包括创建张量、设备管理、数据类型转换、随机数生成等基础知识。
22 0
|
2月前
|
JavaScript API
Vue3 运行可以,build 打包发布报错,app.config.globalProperties 用法坑
Vue3 运行可以,build 打包发布报错,app.config.globalProperties 用法坑
62 2
|
2月前
|
TensorFlow 算法框架/工具
【Tensorflow】图解tf.image.extract_patches的用法--提取图片特定区域
文章通过图解和示例详细解释了TensorFlow中tf.image.extract_patches函数的用法,展示了如何使用该函数从图像中提取特定区域或分割图像为多个子图像。
60 0
|
TensorFlow 算法框架/工具 异构计算
Tensorflow基本用法
Tensorflow基本用法
100 0
|
中间件 API
关于 Express API app.use 中的 path 参数用法
关于 Express API app.use 中的 path 参数用法
关于 Express API app.use 中的 path 参数用法
|
数据可视化 关系型数据库 MySQL
Python Flask Echarts数据可视化图表实战晋级笔记(2)@app.route装饰器的用法
Python Flask Echarts数据可视化图表实战晋级笔记(2)@app.route装饰器的用法
126 0
|
机器学习/深度学习 TensorFlow API
构建自定义机器学习模型:TensorFlow的高级用法
在机器学习领域,TensorFlow已经成为最受欢迎和广泛使用的开源框架之一。它提供了丰富的功能和灵活性,使开发者能够构建各种复杂的机器学习模型。在本文中,我们将深入探讨TensorFlow的高级用法,重点介绍如何构建自定义机器学习模型。
214 0

热门文章

最新文章