The trainer creates the optimizer, and any associated train hooks.
trainable_gan = TrainableGAN(gan)
trainable_gan.trainer
trainer.step(feed_dict) # Step forward
trainer.before_step(step, feed_dict)trainer.after_step(step, feed_dict)