2016-07-21 9 views
2

cifar10 exampleを読むと、次のコードセグメントが表示されます。これはGoogleのコマンドライン標準に準拠しています。しかし具体的には、このコードセグメントは何をしていますか?私はTensorFlowとtf.app.flags.DEFINE_stringtf.app.flagsの使用法またはAPI

FLAGS = tf.app.flags.FLAGS 

tf.app.flags.DEFINE_string('train_dir', '/tmp/cifar10_train', 
         """Directory where to write event logs """ 
         """and checkpoint.""") 
tf.app.flags.DEFINE_integer('max_steps', 1000000, 
         """Number of batches to run.""") 
tf.app.flags.DEFINE_boolean('log_device_placement', False, 
         """Whether to log device placement.""") 

答えて

3

私の経験のようなものをカバーするためのAPIドキュメントを見つけられませんでしたソースコードを見ることは、多くの場合、APIドキュメントではCtrl + Fよりも有用であるということです。私はTensorFlowプロジェクトでPyCharmを開いたままにして、何かを行う方法の例(カスタムリーダーなど)を簡単に検索できます。

この特定のケースでは、tensorflow/python/platform/flags.pyで何が起こっているのか見たいと思っています。実際には、argparse.ArgumentParser()の周りの薄いラッパーです。特に、DEFINE_のすべてが*このヘルパー関数を介して、例えば、_global_parserに引数を追加し終わる:

def _define_helper(flag_name, default_value, docstring, flagtype): 
    """Registers 'flag_name' with 'default_value' and 'docstring'.""" 
    _global_parser.add_argument("--" + flag_name, 
           default=default_value, 
           help=docstring, 
           type=flagtype) 

だから、彼らの旗のAPIは、主にあなたがArgumentParserを見つけるものと同じです。

関連する問題