tensorflow命令行參數:tf.app.flags.DEFINE_string、tf.app.flags.DEFINE_integer、tf.app.flags.DEFINE_boolean


tf 中定義了 tf.app.flags.FLAGS ,用於接受從終端傳入的命令行參數,相當於對Python中的命令行參數模塊optpars(參考: python中處理命令行參數的模塊optpars )做了一層封裝。

optpars中的參數類型是通過參數 “type=xxx” 定義的,tf中每個合法類型都有對應的 “DEFINE_xxx”函數。常用:
  • tf.app.flags.DEFINE_string() :定義一個用於接收 string 類型數值的變量;
  • tf.app.flags.DEFINE_integer() : 定義一個用於接收 int 類型數值的變量;
  • tf.app.flags.DEFINE_float() : 定義一個用於接收 float 類型數值的變量;
  • tf.app.flags.DEFINE_boolean() : 定義一個用於接收 bool 類型數值的變量;

“DEFINE_xxx”函數帶3個參數,分別是變量名稱,默認值,用法描述,例如:

tf.app.flags.DEFINE_string('ckpt_path', 'model/model.ckpt-100000', '''Checkpoint directory to restore''')

定義一個名稱是 "ckpt_path" 的變量,默認值是 ckpt_path = 'model/model.ckpt-100000',描述信息表明這是一個用於保存節點信息的路徑。


example:

# -*- coding=utf-8 -*-

import tensorflow  as tf

FLAGS = tf.app.flags.FLAGS

tf.app.flags.DEFINE_string('ckpt_path', 'model/model.ckpt-100000', '''模型保存路徑''')
tf.app.flags.DEFINE_float('learning_rate',0.0001,'''初始學習率''')
tf.app.flags.DEFINE_integer('train_steps', 50000, '''總的訓練輪數''')
tf.app.flags.DEFINE_boolean('is_use_gpu', False, '''是否使用GPU''')

print '模型保存路徑: {}'.format(FLAGS.ckpt_path)
print '初始學習率: {}'.format(FLAGS.learning_rate)
print '總的訓練次數: {}'.format(FLAGS.train_steps)
print '是否使用GPU: {}'.format(FLAGS.is_use_gpu)

使用 '-h' 指令查看幫助信息:

python flags_test.py -h


按默認設置執行程序:



傳入用戶自定義的命令行參數:

python flags_test.py --ckpt_path abc/cba --learning_rate 0.001 --train_steps 10000 --is_use_gpu True



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM