Almost Deep Learning ( Artificial Neural Networks ) is completely based on NumPy. Tensorflow, the most popular Deep Learning framework from Google uses Tensors as its basic data structure. Tensor is a specific form of NumPy arrays. Another popular deep learning framework Theano uses NumPy under the hood. Pytorch ( from Facebook ) is another deep learning library that uses Tensors as well.

Numpy is a python package specifically designed for efficiently working on homogeneous n-dimensional arrays . Since array level operations are highly mathematical in nature, most of numpy is written in C and wrapped with Python. This is the key to numpy’s success.

This is how the Numpy Course is structured

•NumPy Arrays – This is the core data structure in numpy. We will understand how to create arrays using lists and find out shape of arrays,

•arange function – Similar to the range () function in Python, NumPy has a special function called arange () that creates a NumPy array. We will understand what makes it special and how to create it.

• reshape function – Once arrays are created in NumPy, they might need to be reshaped. For example, a 6 x 2 array can be reshaped to a 3 x 4 or a 12 x 1. We will see how to do that

• Read from file – Just like you can read a csv or a tsv from text files in python, NumPy has built in functions to read files. We will see those functions along with their commonly used options.

•Array Operations – This is where we get the sweet surprise – We will understand the beauty of how NumPy does Element-wise operations. Machine Learning algorithms (Neural Networks) are completely based on NumPy array operations.

•Aggregate Operations – In this section, we will work on aggregate operations on arrays like sum, min, max, length etc. We will see the concept of axis, and how it effects the way we perform aggregate operations.

•Array Slicing – Numpy Arrays can be sliced just like Python lists. We will see all the different possible ways of slicing NumPy arrays.

•Array Manipulation – Sometimes we need to construct the final arrays from multiple sub-arrays. Or sometimes arrays need to be manipulated to eliminate some rows or columns. In this chapter, we will see how to remove/add rows or columns.