tf.flags

tf中定義了tf.app.flags.FLAGS ,用於接受從終端傳入的命令行參數
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',用法描述表明這是一個用於保存節點信息的路徑。

舉例以下程式碼

# -*- 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


Reference

[0] https://blog.csdn.net/dcrmg/article/details/79658725

results matching ""

    No results matching ""