• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Paul Clapham
  • Ron McLeod
  • Liutauras Vilda
  • Bear Bibeault
Sheriffs:
  • Jeanne Boyarsky
  • Tim Cooke
  • Devaka Cooray
Saloon Keepers:
  • Tim Moores
  • Tim Holloway
  • Piet Souris
  • salvin francis
  • Stephan van Hulst
Bartenders:
  • Frits Walraven
  • Carey Brown
  • Jj Roberts

TensorFlow 2.0 in Action: TF, PyTorch, or Keras?

 
Greenhorn
Posts: 17
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Good day,

If I am new to machine/deep learning, what are the reasons why would I prefer TF over PyTorch, or a high-level API like Keras, in the case that my boss comes to me and says we are starting an AI project in the future? And in the case of Tensorflow, if I am just starting, should I jump to TF 2.0 rather than start with TF 1.0+? Or does learning both would be helpful?

Regards,
Joey
 
Author
Posts: 24
2
  • Likes 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello Jose,

First of all a warm welcome to the field of ML/DL. TensorFlow and Pytorch are the leading frameworks for implementing deep networks. Short answer is it is really difficult to pick a "best" among these. However, there are some key differences you can base your decision on.

TensorFlow (Developed initially by Google)
+ Delivers good performance
+ Has a bigger/very active community that is very responsive
+ Has strong model productionizing APIs
+ Introduces cool APIs early and frequently (e.g. Recommender API / Tensorboard)
- Some parts of the documentation can improve. However new high-quality books keep coming up to bridge that gap

Pytorch (Developed initially by Facebook)
+ Delivers good performance
+ Started out with dynamic graph generation capability. Therefore the source code is much cleaner.
+ Has good documentation
- Productionizing APIs haven't matured

Some say that Pytorch is easier to learn, but personally I haven't felt a difference. The fact that I started with TensorFlow might have some contribution factor here. My take is that if you learn one, you can easily transfer to the other.

On your question whether you need to start out with TensorFlow 1.0, that's a very good question. I don't think you need to know TensorFlow 1.0 to understand TF 2. The key difference between TF1 and TF2 is that TF1 uses a bit obsecure coding style based on static-computational graphs. However, TF2 introduces eager execution and Autograph (dynamic graph generation). You can directly jump to TensorFlow 2 even without knowing TensorFlow 1.

I hope this helps on your decision
 
It would give a normal human mental abilities to rival mine. To think it is just a tiny ad:
Thread Boost feature
https://coderanch.com/t/674455/Thread-Boost-feature
reply
    Bookmark Topic Watch Topic
  • New Topic