As we learned in the previous chapter, training a deep learning algorithm requires the following steps:
- Building a data pipeline
- Building a network architecture
- Evaluating the architecture using a loss function
- Optimizing the network architecture weights using an optimization algorithm
In the previous chapter, the network was composed of a simple linear model built using PyTorch numerical operations. Though building a neural architecture for a toy problem using numerical operations is easier, it quickly becomes complicated when we try to build architectures required to solve complex problems in different areas, such as computer vision and natural language processing (NLP). Most of the deep learning frameworks, such as PyTorch, TensorFlow, and Apache MXNet, provide higher-level functionalities that abstract a lot of this...