2015-11-26 39 views
62

Ben Tensorflow bazı örnek kodlar okuyorum ben tensorflow/tensorflow/g3doc/tutorials/mnist/fully_connected_feed.pyTensorFlow'da tf.app.flags'in amacı nedir?

aşağıdaki kodu

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

bulundu Ama tf.app.flags bu kullanımı hakkındaki herhangi bir dokümana bulamıyorum.

Ve bu bayraklar uygulanması Açıkçası tensorflow/tensorflow/python/platform/default/_flags.py

olduğu bulundu, bu tf.app.flags nasılsa bir ağ yapılandırmak için kullanılan, öyleyse niye API dokümanlarında değildir? Burada neler olduğunu açıklayan var mı?

cevap

72

tf.app.flags modül halihazırda piton-gflags etrafında ince bir sargı, bu nedenle documentation for that project python-gflags işlevselliği bir alt kümesini de argparse, kullanım şekli için en iyi kaynaktır.

Bu modülün şu anda demo uygulamaları yazmak için bir kolaylık olarak paketlendiğini ve teknik olarak API'nın bir parçası olmadığını unutmayın, bu nedenle gelecekte değişebilir.

Kendi bayrak ayrıştırmanızı argparse kullanarak veya tercih ettiğiniz kitaplıklarla uygulamanızı öneririz.

DÜZENLEME:tf.app.flags modül uygulanan python-gflags kullanarak aslında değil, ama benzer bir API kullanır.

+45

"demo uygulamaları yazmak için bir kolaylık olarak paketlenmiştir ve teknik olarak AP'nin bir parçası değildir" ... neredeyse her öğreticide kullanıldığı gibi tuhaftır, ancak üzerinde herhangi bir belge yoktur. Bol kafa karışıklığına yol açar. – speedplane

+1

Bağımsız değişkenleri bir TensorFlow modeline iletmek için argparse işlevinin nasıl kullanılacağı ve bulut için bir Python modülüne nasıl dağıtılacağı hakkında iyi bir örnek için, bkz. [Task.py] (https://github.com/GoogleCloudPlatform/training- [vergi] 'de veri analisti/blob/master/courses/machine_learning/cloudmle/taxifare/trainer/task.py) (https://github.com/GoogleCloudPlatform/training-data-analyst/tree/master/courses/ machine_learning/cloudmle/taxifare) modülü, [eğitim-veri-analist ders materyallerinin] bir parçası (https://github.com/GoogleCloudPlatform/training-data-analyst/tree/master/courses/machine_learning/cloudmle/). – charlesreid1

+0

Ayrıca "tf.app.run", genel API'nin bir parçası değil mi? Çünkü tf.app.flags'a güveniyor ve kamuya açık belgelere sahip (https://www.tensorflow.org/api_docs/python/tf/app/run), bu yüzden bunun kamuya açık ve desteklendiğini varsayalım. Bunun yerine 'argparse' kullanılması önerilirse, 'argparse' ile kullanılması önerilen yolun kısa bir örneğini verebilir misiniz? – naktinis