Choosing between PyTorch and TensorFlow
One advantage of TensorFlow is the ability to export a trained model into formats compatible with Tensorflow Lite or Tensorflow JS for mobile/web dev as well as edge device deployment, making it a great choice for those interested in mobile or edge computing. On the other hand, PyTorch's biggest advantage is the constant updates and being the go-to language for most of the new and exciting models. Additionally, PyTorch is popular in academia and research.
Despite TensorFlow's advantages, some developers prefer PyTorch for its simplicity and intuitive user experience. Others even prefer newer frameworks such as JAX, which is mostly Numpy with GPU acceleration and autograd.
In industry, TensorFlow is still commonly used, and while some developers have a love-hate relationship with it, they appreciate its computation-graph approach, and the fact that with TensorFlow 2, you can still compile your models as a graph for improved performance. Keras, which is often used with TensorFlow, is not loved by everyone due to its over-engineered nature, though its functional API is acceptable.
For those interested in JAX, the Equinox library makes building neural networks user-friendly, and it has been found to be faster and more composable than PyTorch. Check out this CNN on MNIST introductory example.
Ultimately, the choice between PyTorch and TensorFlow (or any other framework) will depend on your needs and preferences. It's worth experimenting with different frameworks to see which one best suits your needs.