tensorflow 使用flags定义命令行参数,TensorFlow tf.app&tf.app.flags用法介绍

本文详细介绍TensorFlow中tf.app.flags模块的使用方法,演示如何通过命令行传递参数到Python脚本,实现灵活配置训练数据路径、最大句子长度等关键参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载:https://blog.youkuaiyun.com/leiting_imecas/article/details/72367937

tf定义了tf.app.flags,用于支持接受命令行传递参数,相当于接受argv。

import tensorflow as tf

#第一个是参数名称,第二个参数是默认值,第三个是参数描述
tf.app.flags.DEFINE_string('str_name', 'def_v_1',"descrip1")
tf.app.flags.DEFINE_integer('int_name', 10,"descript2")
tf.app.flags.DEFINE_boolean('bool_name', False, "descript3")

FLAGS = tf.app.flags.FLAGS

#必须带参数,否则:'TypeError: main() takes no arguments (1 given)';   main的参数名随意定义,无要求
def main(_):  
    print(FLAGS.str_name)
    print(FLAGS.int_name)
    print(FLAGS.bool_name)

if __name__ == '__main__':
    tf.app.run()  #执行main函数

执行:

[root@AliHPC-G41-211 test]# python tt.py
def_v_1
10
False
[root@AliHPC-G41-211 test]# python tt.py --str_name test_str --int_name 99 --bool_name True
test_str
99
True

 

转载:https://www.cnblogs.com/marsggbo/p/9719580.html

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

TensorFlow tf.app argparse 

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.  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值