Nearly every day, I am getting ignorant messages saying, "PyTorch is an original innovation that TensorFlow/Keras copied". This is incorrect. Subclassing is a fairly obvious way to do things in Python, and Chainer had this API first. Many others followed.https://twitter.com/roronoazoro_189/status/1132660042530869248 …
-
-
Show this thread
-
I had been looking at adding a Model subclassing API to Keras as soon as late 2015 (before the Functional API even existed, and over a year before being aware of PyTorch), inspired by Chainer. Our first discussions about adding an eager execution mode also predate PyTorch.
Show this thread -
By the time PyTorch came out, I had been looking at its API (which is exactly the Chainer API) for 1.5 year (since the release of Chainer). It wasn't exactly a shock. There was nothing we didn't already know.
Show this thread -
To be clear, it's a good thing that API patterns and technical innovations are cross-pollinating among deep learning framework. The Keras API itself has a had a pretty big influence over libraries that came after. It's completely fine, and it all benefits end users.
Show this thread -
But please stop saying, "TensorFlow/Keras copied PyTorch". It's an extremely ignorant take, not only false but also pretty offensive (especially to the Chainer folks).
Show this thread
End of conversation
New conversation -
-
-
What is the context of this tweet ?
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
I think people are just noting the timing. I can argue TF/Keras could have been 'eager' since 2015. It is PyTorch's significant adoption that showed what users want (eager) and set a (high) standard, that TF/Keras are now also going for. It simply follows the user.
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
It is a good thing the way TF is evolving, even if it is cloning the style of chainer/pytorch. This way users get to choose which is better by comparing apples to apples
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
It's good to make people aware. I wouldn't have known about Chainer without that tweet
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
How does Chainer know the input size of the next layer in __init__? Actually how does it know what layer is the next layer? Is it determined by the order of declaration. As I know Pytorch still can not auto infer the input size of the next layer.(or am i just noob)
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
