I just finished the AI Programming with Python course of Udacity, whose syllabus covers:
- Python: a really nice starting point with the language basics, Numpy, Pandas and Matplotlib
- Some maths
- Neural networks basics
After having played TensorFlow and Keras in the past (thanks to another Udacity course: self driving car nanodegree), I was very excited to use PyTorch and as a result, I am very impressed about it.
The main reason is that PyTorch is more intuitive. When you are playing with TensorFlow (no with Keras), you need to make the things in the TensorFlow way, but with PyTorch it is more natural, explicit and with less magic.
I think it is a very important point in any case, but more so if you are not an experimented Python developer (like me). If you are starting with AI, you are knowing a new world, probably different from the ones you know and it is hard enough. So, adding it a special way to do the things, it is not the best option to learn.
For instance, thanks to PyTorch, I have finally understood the concept of backpropagation completely.
Another point for PyTorch, it is the way to work with data (vectors/tensors, maths, …). With PyTorch you will use Numpy or Pandas instead of play with TensorFlow objects. And you sure, Numpy or Pandas are a win.
I dont’t know what I will use in the future, but for sure, Facebook has done a nice work creating PyTorch.