tensorflow命令行參數設置有兩種方式,一種是利用python的argparse包,一種是利用tensorflow自帶的tf.app.flags。
一:python:argparse
argparse包使用參考官網:https://docs.python.org/3.6/library/argparse.html#argparse.ArgumentParser
也可參考簡書:http://www.jianshu.com/p/b8b09084bd1a
示例
import argparse
parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('integers', metavar='N', type=int, nargs='+',
help='an integer for the accumulator')
parser.add_argument('--sum', dest='accumulate', action='store_const',
const=sum, default=max,
help='sum the integers (default: find the max)')
args = parser.parse_args()
print(args.accumulate(args.integers))
二:tf.app.flags
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