It’s the same advantage that most Julia packages have over most Python packages: rather than having to use specialized objects coming from some huge, complicated C or C++ code base that tend not to be compatible with anything else you are just using the normal objects of the language. It’s sort of as if you could have written TensorFlow using only Python
dicts (that’s a little bit of a false equivalency for a few reasons, but it does a good job expressing what I mean). Just look at how much easier it is to implement custom layers in Flux compared to TensorFlow! In Flux a custom layer is just perfectly ordinary code. You have to read through tons of TensorFlow documentation even to know where to start with it.
Also, I don’t know about PyTorch, but last I checked TensorFlow only worked with fully static computational graphs.