              loss_A = autoencoder_A.train_on_batch(warped_A, target_A)
              loss_B = autoencoder_B.train_on_batch(warped_B, target_B)
              print(loss_A, loss_B)
  
              if epoch % 100 == 0:
                  self.save_model_weights()
                  self.show_sample(target_A[0:14], target_B[0:14])
  
              key = cv2.waitKey(1)
              if key == ord('q'):
 
</s> remove         else:
 </s> add         if not self.arguments.preview or self.arguments.write_image:
            if epoch % self.arguments.save_interval == 0:
              loss_A = autoencoder_A.train_on_batch(warped_A, target_A)
              loss_B = autoencoder_B.train_on_batch(warped_B, target_B)
              print(loss_A, loss_B)
  
            if epoch % self.arguments.save_interval == 0:
                  self.save_model_weights()
                  self.show_sample(target_A[0:14], target_B[0:14])
  
              key = cv2.waitKey(1)
              if key == ord('q'):
keep keep keep keep replace keep keep keep keep keep
 Improvement of the train action usability. (#37)

* Improvement of the train action usability.

* Prints the current iteration number in verbose mode.
* The number of iterations before saving the data can be changed by a command line optin.

* Added option to write training result to file even when in preview.

* Prints time elapsed for each iteration in verbose mode when training. 
lib/cli.py