title: Printing out the validation accuracy to the console for every batch or epoch (Keras)
body: <p>I'm using <code>ImageDataGenerator</code> and <code>flow_from_directory</code> to generate my data, and 
  using <code>model.fit_generator</code> to fit the data.</p>
  
  <p>This defaults to outputting the accuracy for training data set only.
  There doesn't seem to be an option to output validation accuracy to the terminal.</p>
  
  <p>Here is the relevant portion of my code:</p>
  
  <pre><code>#train data generator
  
  
  print('Starting Preprocessing')
  
  train_datagen = ImageDataGenerator(preprocessing_function = preprocess)
  
  train_generator = train_datagen.flow_from_directory(
  train_data_dir,
  target_size = (img_height, img_width),
  batch_size = batch_size, 
  class_mode = 'categorical')  #class_mode = 'categorical'
  
  
  #same for validation
  val_datagen = ImageDataGenerator(preprocessing_function = preprocess)
  
  validation_generator = val_datagen.flow_from_directory(
          validation_data_dir,
          target_size = (img_height, img_width),
          batch_size=batch_size,
          class_mode='categorical')
  
  
  
  
  
  ########################Model Creation###################################
  
  #create the base pre-trained model
  print('Finished Preprocessing, starting model creating \n')
  base_model = InceptionV3(weights='imagenet', include_top=False)
  x = base_model.output
  x = GlobalAveragePooling2D()(x)
  x = Dense(1024, activation='relu')(x)
  predictions = Dense(12, activation='softmax')(x)
  model = Model(input=base_model.input, output=predictions)
  
  
  
  
  for layer in model.layers[:-34]:
     layer.trainable = False
  for layer in model.layers[-34:]:
     layer.trainable = True
  
  
  from keras.optimizers import SGD
  model.compile(optimizer=SGD(lr=0.001, momentum=0.92),
                loss='categorical_crossentropy',
                metrics = ['accuracy'])
  
  
  
  #############SAVE Model #######################################
  
  
  file_name = str(datetime.datetime.now()).split(' ')[0] + '_{epoch:02d}.hdf5'
  filepath = os.path.join(save_dir, file_name)
  
  
  
  checkpoints =ModelCheckpoint(filepath, monitor='val_acc', verbose=1,
                                  save_best_only=False, save_weights_only=False,
                                  mode='auto', period=2)
  
  ###############Fit Model #############################
  
  model.fit_generator(
  train_generator,
  steps_per_epoch =total_samples//batch_size,
  epochs = epochs,
  validation_data=validation_generator,
  validation_steps=total_validation//batch_size,
  callbacks = [checkpoints],
  shuffle= True)
  </code></pre>
  
  <p>UPDATE OUTPUT:</p>
  
  <p>Throughout training, I'm only getting the output of training accuracy,
  but at the end of training, I"m getting both training, validation accuracy. </p>
  
  <pre><code>Epoch 1/10
  
    1/363 [..............................] - ETA: 1:05:58 - loss: 2.4976 - acc: 0.0640
    2/363 [..............................] - ETA: 51:33 - loss: 2.4927 - acc: 0.0760  
    3/363 [..............................] - ETA: 48:55 - loss: 2.5067 - acc: 0.0787
    4/363 [..............................] - ETA: 47:26 - loss: 2.5110 - acc: 0.0770
    5/363 [..............................] - ETA: 46:30 - loss: 2.5021 - acc: 0.0824
    6/363 [..............................] - ETA: 45:56 - loss: 2.5063 - acc: 0.0820
  </code></pre>