I’m not the most qualified person to answer this, but IMO: Pytorchs Dynamic Computational Graph. Being able to print, adjust, debug, the code without this session BS makes easier to debug. However, TensorFlow created “Eager Execution” this summer to be more similar Pytorch. An argument is that Pytorch has always been like this, imperative and define-by-run.