tensorflow学习之——tf.app.flags.DEFINE_XXXX() 使用flags定义命令行参数

和C/C++编写main函数中的argv一样,tf框架下也封装了tf.app.flags.DEFINE_XXXX()函数用于定义参数,便于命令行形式传递参数。常见的函数形式如下:

  1. flags.DEFINE_float(参数1,参数2,参数3)  
  2. flags.DEFINE_integer(参数1,参数2,参数3)  
  3. flags.DEFINE_string(参数1,参数2,参数3
  4. flags.DEFINE_boolean(参数1,参数2,参数3

参数1:定义的参数名称;

参数2:参数默认值;

参数3:对参数的描述;

比如常见一个深度学习网络的py文件中:

import tensorflow as tfimport numpy as np#第一个是参数名称,第二个参数是默认值,第三个是参数描述
tf.app.flags.DEFINE_integer('batch_size', 64,'batch size=?') #定义输入训练数据的batch大小,默认64;
tf.app.flags.DEFINE_float('learning_rate', 0.001,'learning rate') #定义学习率大小,默认0.001;
tf.app.flags.DEFINE_boolean('train', FALSE,'train or test') #定义布尔类型的值,判断网络是训练还是测试
tf.app.flags.DEFINE_string('check_points_dir', './model/','check_points dir') #模型保存路径 
tf.app.flags.DEFINE_integer('epoch', 50,'train epoch size') #定义的epoch大小,默认为50
FLAGS = tf.app.flags.FLAGS
def main(XXXX): 
    XXXX
if __name__ == '__main__': 
    XXXX #执行main
 
 

 
 

 
 
在调用参数时,一般如下使用;
FLAGS.参数名
FLAGS.batch_size

PS!真心吐槽现在的CSDN的风格!!!!不如旧版编辑的稳定…………………………什么鬼

猜你喜欢

转载自blog.csdn.net/c20081052/article/details/79941458