Solved by vfdev-5 in post #2 
              
              
                @FruitVinegar 
Trainer defined as 
trainer = create_supervised_trainer(~)

is just a configured Engine. Engine, by default, does not store any info on model, optimizer, loss etc. 
This can be done if needed like that: 
trainer = ...
# trainer.state is not None in recent nightly releases: 0.4.0.dev20…