tensorflow-tf.flagsコマンドラインパラメータの使用
2653 ワード
1.主な用途
flagsは、コード内のパラメータをコマンドラインで動的に変更するのに役立ちます(ソースコードのパラメータを繰り返し変更することなく、コマンドラインでパラメータの設定を直接行うことができます.python train.py--input_file"...)flagsを使用してコマンドラインのパラメータを定義します.(まずパラメータを定義し、パラメータを変数FLAGSに統一的に保存し、付与に相当し、後でパラメータを呼び出すときに直接FLAGSパラメータを使用すればよい)
2.パラメータタイプ
主にtf.flags.DEFINE_xxx()シリーズを含みます.例えば、tf.flags.DEFINE_float()、tf.flags.DEFINE_integer()、tf.flags.DEFINE_boolean()、tf.flags.DEFINE_string()、tf.flags.DEFINE_bool()、カッコ内には(パラメータ名、デフォルト値、パラメータ説明)
3.使用プロセス
a)flags=tf.app.flags(またはtf.flags)を呼び出してパラメータ名を定義し、flags.DEFINE_float(「weight」,0.1,"weight of nureral network")b)FLAGS=flags.FLAGSパラメータのような初期値を与え、weight=FLAGS.weight注:FLAGS._parse_flags()をFLAGS.flag_values_dict()に変更するこれを辞書として解析してFLAGS._flagsに格納するc)tf.app.run()を実行する
4.コマンドラインcmdで実行
shiyan.pyの定義
flagsは、コード内のパラメータをコマンドラインで動的に変更するのに役立ちます(ソースコードのパラメータを繰り返し変更することなく、コマンドラインでパラメータの設定を直接行うことができます.python train.py--input_file"...)flagsを使用してコマンドラインのパラメータを定義します.(まずパラメータを定義し、パラメータを変数FLAGSに統一的に保存し、付与に相当し、後でパラメータを呼び出すときに直接FLAGSパラメータを使用すればよい)
2.パラメータタイプ
主にtf.flags.DEFINE_xxx()シリーズを含みます.例えば、tf.flags.DEFINE_float()、tf.flags.DEFINE_integer()、tf.flags.DEFINE_boolean()、tf.flags.DEFINE_string()、tf.flags.DEFINE_bool()、カッコ内には(パラメータ名、デフォルト値、パラメータ説明)
3.使用プロセス
a)flags=tf.app.flags(またはtf.flags)を呼び出してパラメータ名を定義し、flags.DEFINE_float(「weight」,0.1,"weight of nureral network")b)FLAGS=flags.FLAGSパラメータのような初期値を与え、weight=FLAGS.weight注:FLAGS._parse_flags()をFLAGS.flag_values_dict()に変更するこれを辞書として解析してFLAGS._flagsに格納するc)tf.app.run()を実行する
4.コマンドラインcmdで実行
shiyan.pyの定義
import tensorflow as tf
flags = tf.flags
# ( 、 、 )
flags.DEFINE_string("name",'lala','name to print')
FLAGS = flags.FLAGS
def main(argv):
print("Hello word")
print("your name",FLAGS.name)
if __name__ == "__main__":
tf.app.run()
コマンドラインで上のshiyan.pyプログラムを実行# 1、
python shiyan.py
>Hello word
>your name lala
# 2、
python shiyan.py --name "XIXI"
>Hello word
>your name XIXI
# 3、
python shiyan.py -help
> USAGE: shiyan.py [flags]
flags:
shiyan.py:
--name: name to print
(default: 'lala')
python shiyan.py -helpfull
>Hello word
>your name lala
#
import tensorflow as tf
flags = tf.flags
flags.DEFINE_integer("num_iters",1000,'number of iters')
flags.DEFINE_integer("Batch_size",50,"")
flags.DEFINE_float("learing_rate",0.0001,"")
FLAGS = flags.FLAGS # FLAGS
FLAGS.flag_values_dict() # FLAGS.__flags
print(FLAGS.__flags)
# {'learing_rate': , 'num_iters': , 'Batch_size': }
print(FLAGS.num_iters) #1000
print(FLAGS.Batch_size) #50
print(FLAGS.learing_rate) #0.0001
print("
Parameters:")
for attribute,value in sorted(FLAGS.__flags.items()):
print("{}={}".format(attribute.upper(),value))
# format() {} : %
# BATCH_SIZE=
# LEARING_RATE=
# NUM_ITERS=