Change default values for several training flags.
Change Trainer.train to be a generator; this lets clients of the trainers modify the model if needed during training.