In tensorflow application, we often need pass some arguments to application, such as arguments batch_size, learning_rate, dimension_size etc. We can use tf.app.flags to set and parse these arguments. Here is an example.
Set and parse arguments with tf.app.flags in tensorflow.
The example code:
#coding=utf-8 import numpy as np import tensorflow as tf #set arguments 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_unit',128,'Number of units in hidden layer 1') flags.DEFINE_integer('batch_size',100,'Batch size') flags.DEFINE_string('train_dir','mnist-data/','Directory to put the training data') flags.DEFINE_boolean('fake_data', False, 'If true, use fake data for unit testing') #get arguments print 'learning_rate = ' + str(FLAGS.learning_rate) print 'max_steps = ' + str(FLAGS.max_steps) print 'hidden1_unit = ' + str(FLAGS.hidden1_unit) print 'batch_size = ' + str(FLAGS.batch_size) print 'train_dir = ' + FLAGS.train_dir print 'fake_data = ' + str(FLAGS.fake_data)
The common used arguments in tensorflow is: float, integer, string and boolean, example above illustrates how to set and parse these arguments, you can learn how to do by this code.
If you do not pass any arguments, the application will use default values.
If you pass some arguments, the application will use the new values.