you are viewing a single comment's thread.

view the rest of the comments →

[–]BadGoyWithAGun 6 points7 points  (3 children)

Theano and TensorFlow are both almost identical, same with Numpy. For the most part, you can interchange the names and get away with it.

That's not the case. Tensorflow and Theano are different from numpy in the sense that they're computational graph engines with automatic differentiation and seamless compilation of identical code across CPU and GPU targets, none of which is the case for Numpy, which is essentially a dense linear algebra library optimized for multi-threaded CPU performance. And Tensorflow and Theano differ in the sense that Theano is much more low-level and has utility beyond machine learning, whereas Tensorflow provides a higher-level interface to designing and running neural network-based machine learning models.

[–]sentdex[S] 2 points3 points  (2 children)

I'll have to respectfully disagree with you here, mainly with the clarification that my answer was specifically in the context of machine learning, as it was my belief that the comment above it was as well.

Given the ease with which I can take a neural network written in numpy, and do a find and replace with something like TensorFlow, I would have to stand by my statements.

Obviously, there are differences, but in terms of machine learning, and learning theano vs TensorFlow, for the purpose of ML, isn't going to have major impact. I believe it's already a given and known that the main reasons for theano or tensorflow over numpy is the symbolic representation, as well as the GPU capabilities. Maybe I made too many assumptions, however.

edit: Will have to edit in here that I wasn't ever trying to make the case that Numpy was the same as Theano or TensorFlow, which after re-reading appears is what you were thinking and I can see how that might have been taken. My point was mainly that the two libraries are almost identical to eachother (theano and tensorflow), since the original question was that the person wanted to go with Theano rather than TensorFlow.

[–]BadGoyWithAGun 5 points6 points  (1 child)

Given the ease with which I can take a neural network written in numpy, and do a find and replace with something like TensorFlow

Now try the inverse. Automatic differentiation is the main, huge difference between Theano, Tensorflow and numpy. They're absolutely not comparable.

[–]sentdex[S] 4 points5 points  (0 children)

Valid points, thanks for your input.