import tensorflow as tf

tf.app.flags.DEFINE_float('learning-rate', 1.6e-7, 'Learning Rate. (default: %(default)d)')
tf.app.flags.DEFINE_float('weight-decay', 0.0005, 'Weight decay factor.')
tf.app.flags.DEFINE_integer('max-epochs', 50, 'Number of epochs to run. (default: %(default)d)')
tf.app.flags.DEFINE_integer('batch-size', 4, 'BatchSize. (default: %(default)d)')
tf.app.flags.DEFINE_integer('depth', 3, 'Depth of each Encode/Decode block.')
tf.app.flags.DEFINE_boolean('debug', False, 'Enable debug options. (default: %(default)d)')
tf.app.flags.DEFINE_boolean('profile', False, 'Enable profile options. (default: %(default)d)')
tf.app.flags.DEFINE_boolean('validate', False, 'Operate on validation set. (default: %(default)d)')
tf.app.flags.DEFINE_boolean('test', False, 'Run test renders. (default: %(default)d)')
tf.app.flags.DEFINE_boolean('real', False, 'Operate on real data set. (default: %(default)d)')
tf.app.flags.DEFINE_boolean('fine-tune', False, 'Pre-load previous best. (default: %(default)d)')
tf.app.flags.DEFINE_boolean('lab-space', True, 'Use CIE Lab space. (default: %(default)d)')
tf.app.flags.DEFINE_boolean('siamese', True, 'Used shared weights in conv layers. (default: %(default)d)')
tf.app.flags.DEFINE_boolean('dotprod', False, 'Use a dot product for siamese outputs. (default: %(default)d)')
tf.app.flags.DEFINE_boolean('dotprod-pyramid', False, 'Use a dot product for each layer of siamese outputs. (default: %(default)d)')
tf.app.flags.DEFINE_boolean('multiscale', False, 'Use multiscale features. (default: %(default)d)')
tf.app.flags.DEFINE_boolean('stereo2', True, 'Stereo mode')
tf.app.flags.DEFINE_boolean('adam', True, 'Use adam optimizer')
tf.app.flags.DEFINE_boolean('use-bg', False, 'Use background image')
tf.app.flags.DEFINE_boolean('sep-bg', True, 'Use seperate branch for background image')
tf.app.flags.DEFINE_boolean('norms', False, 'Use normals in training')
tf.app.flags.DEFINE_boolean('l2-loss', False, 'Use l2 loss in training')
tf.app.flags.DEFINE_boolean('ssim-loss', False, 'Use ssim loss in training')

tf.app.flags.DEFINE_boolean('app', False, 'Dont load train data. (default: %(default)d)')
tf.app.flags.DEFINE_string('log-dir', 'envmap_synthetic_results', 'Output Log directory')
tf.app.flags.DEFINE_string('log-prefix', '', 'Output log prefix')
tf.app.flags.DEFINE_string('test-model-dir', 'best_dematerial', 'Directory of model for testing')
tf.app.flags.DEFINE_string('train-dir', "/home/gavin/scene_data/renders",
                           'Path to training set')
tf.app.flags.DEFINE_string('val-dir', "/home/gavin/scene_data/val",
                           'Path to validation set')
FLAGS = tf.app.flags.FLAGS
