tensorflow学习之——tf.app.flags.DEFINE_XXXX() 使用flags定义命令行参数
·
和C/C++编写main函数中的argv一样,tf框架下也封装了tf.app.flags.DEFINE_XXXX()函数用于定义参数,便于命令行形式传递参数。常见的函数形式如下:
- flags.DEFINE_float(参数1,参数2,参数3)
- flags.DEFINE_integer(参数1,参数2,参数3)
- flags.DEFINE_string(参数1,参数2,参数3)
- 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的风格!!!!不如旧版编辑的稳定…………………………什么鬼
更多推荐
已为社区贡献19条内容
所有评论(0)