TensorFlow の tf.app.flags の目的は何ですか? 質問する

TensorFlow の tf.app.flags の目的は何ですか? 質問する

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 を使用します。

おすすめ記事