1. 程式人生 > >tensorflow 學習(三)使用flags定義命令列引數

tensorflow 學習(三)使用flags定義命令列引數

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