2015-11-26 6 views
62

私はTensorflowにいくつかのサンプルコードを読んでいますが、私はtensorflow/tensorflow/g3doc/tutorials/mnist/fully_connected_feed.pyTensorFlowのtf.app.flagsの目的は何ですか?

に次のコードに

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.') 

を見つけましたしかし、私はtf.app.flagsのこの使用方法についてのドキュメントを見つけることができません。

そして私は、このフラグの実装は tensorflow/tensorflow/python/platform/default/_flags.py

に明らかに、このtf.app.flagsは何とかネットワークを構成するために使用されているので、なぜそれがAPIドキュメントではないでしょうか?見つかりましたか誰でもここで何が起こっているのか説明できますか?

答えて

72

tf.app.flagsモジュールは、現在 のpython-GFLAGS薄いラッパであるので documentation for that projectpython-gflagsにおける機能のサブセットを実装 argparseそれを使用する方法のために最適なリソースです。

このモジュールは現在、デモアプリケーションの作成の便宜のためにパッケージ化されており、技術的には公開APIの一部ではないため、将来変更される可能性があります。

​​などの独自のフラグ解析を実装することをお勧めします。

EDITは:tf.app.flagsモジュールが実装されpython-gflagsを使用して、実際にはありませんが、それは同様のAPIを使用しています。

+45

"デモアプリケーションを書くのに便利でパッケージ化されており、技術的にはパブリックAPの一部ではありません" ...ほぼすべてのチュートリアルで使用されていますがドキュメントはありません。多くの混乱を招く。 – speedplane

+1

argparseを使用してTensorFlowモデルに引数を渡す方法と、それをクラウド用のPythonモジュールにバンドルする方法については、[task.py](https://github.com/GoogleCloudPlatform/training- [taxifare](https://github.com/GoogleCloudPlatform/training-data-analyst/tree/master/courses/)で、データアナリスト/ブロブ/マスター/コース/ machine_learning/cloudmle/taxifare/trainer/task.py) machine_learning/cloudmle/taxifare)モジュールは、[training-data-analystコースの教材](https://github.com/GoogleCloudPlatform/training-data-analyst/tree/master/courses/machine_learning/cloudmle/)の一部です。 – charlesreid1

+0

'tf.app.run'もパブリックAPIの一部ではありませんか?それは 'tf.app.flags'に依存しているため公開されているドキュメント(https://www.tensorflow.org/api_docs/python/tf/app/run)を持っているので、公開されサポートされていると仮定します。代わりに 'argparse'を使用することをお勧めするなら、' argparse'でそれを使用するための推奨される方法の簡単な例を提供できますか? – naktinis

関連する問題