Thank you for the good question. To me, these are the cons of Pytorch compared to TensorFlow
- TensorFlow is an older framework so there are many extremely well-written tutorials on the internet.
- TensorFlow has Tensorboard which is really convenient for visualization
- Better for production and deployment
Pros of PyTorch compared to TensorFlow
- Dynamic graph
- PyTorch allows declarative data parallelism, which allows you to leverage multiple GPUs with almost no effort (with
- Easier to debug (because the computation graph in PyTorch is defined at runtime, you can use common Python debugging tools), while with TensorFlow, you need to use a special tool called tfdbg
- PyTorch is more Pythonic and intuitive, while operations in TensorFlow are pretty low-level (this may not be a problem with you since you have been using TensorFlow for 3 years)
Since you have been familiar with TensorFlow and it is a really powerful framework, I think it is a good option to stick with TensorFlow and integrate PyTorch in your practice if you want to grasp some functions of PyTorch for some specific projects. Since PyTorch is easy to learn and well-documented, I think it would be easy for you just to try out and see if you like it.