LoginSignup
5
5

More than 5 years have passed since last update.

TensorFlow > tp.app.flagsの使用例 > flags.DEFINE_float('learning_rate', 0.01, 'Initial learning rate.') / tf.app.flags には「コマンドライン引数の処理」という役割もある

Last updated at Posted at 2016-10-10
動作環境
Ubuntu 14.04 LTS desktop amd64
GeForce GTX 750 Ti
ASRock Z170M Pro4S [Intel Z170chipset]
TensorFlow v0.11
cuDNN v5.1 for Linux
CUDA v7.5

http://blog.brainpad.co.jp/entry/2016/03/28/170000
を学習中。

fully_connected_feed.py
のコードにおいてflagsというのが使われている。

# Basic model parameters as external 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.')

上記のように定義しておいて、以下のように使う。
'batch_size'と定義した場合に、FLAGS.batch_sizeとして使う。

  # Create the feed_dict for the placeholders filled with the next
  # `batch size` examples.
  images_feed, labels_feed = data_set.next_batch(FLAGS.batch_size,
                                                 FLAGS.fake_data)

フラグ(条件の成否判別に使う)というより定数(+付随情報)という感じかもしれない。

コマンド引数としての役割

@antimon2さんのコメントを参照ください。

情報感謝です。

5
5
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5