Tensorflowのサンプルコードを読んでいると、次のコードを見つけました
flags = tf.app.flags
FLAGS = flags.FLAGS
flags.DEFINE_float('learning_rate', 0.01, 'Initial learning rate.')
flags.DEFINE_integer('max_steps', 2000, 'Number of steps to run trainer.')
flags.DEFINE_integer('hidden1', 128, 'Number of units in hidden layer 1.')
flags.DEFINE_integer('hidden2', 32, 'Number of units in hidden layer 2.')
flags.DEFINE_integer('batch_size', 100, 'Batch size. '
'Must divide evenly into the dataset sizes.')
flags.DEFINE_string('train_dir', 'data', 'Directory to put the training data.')
flags.DEFINE_boolean('fake_data', False, 'If true, uses fake data '
'for unit testing.')
でtensorflow/tensorflow/g3doc/tutorials/mnist/fully_connected_feed.py
しかし、 のこの使用法に関するドキュメントは見つかりませんtf.app.flags
。
そして、このフラグの実装はtensorflow/tensorflow/python/platform/default/_flags.py
明らかに、これはtf.app.flags
何らかの方法でネットワークを構成するのに使用されているのですが、なぜ API ドキュメントに記載されていないのでしょうか? ここで何が起こっているのか、誰か説明できますか?
ベストアンサー1
このモジュールは現在
python-gflags
tf.app.flags
の薄いラッパーなので 、
そのプロジェクトのドキュメント
使い方を知るには最適なリソースです
argparse
の機能のサブセットを実装する。python-gflags
。
このモジュールは現在、デモ アプリを作成するための便宜上パッケージ化されており、技術的にはパブリック API の一部ではないため、将来変更される可能性があることに注意してください。
argparse
または好みのライブラリを使用して独自のフラグ解析を実装することをお勧めします。
編集:このtf.app.flags
モジュールは実際には を使用して実装されていませんpython-gflags
が、同様の API を使用します。