Hi, @Arisha_Prasain

In this cell, all that is being done is to create a figure containing images of numbers. So we start with `fig, axes = plt.subplots(4, 4, figsize=...)`

this will generate and a matplotlib figure with 16 axis or 4 rows by 4 columns. The type of axes is just a 2D Numpy array containing 16 axis and `axes.flat`

will create a single list (iterable) containing all 16 axis and we just loop over.

Now, for the use of `np.random.randint(m)`

this is just to randomly pick a number from 0 to `m`

which will insure that it is in the training examples `X`

, and then we just index this training examples with the random number and get a single example which is just an image.

Now, for the `ax.imshow(...)`

this is just a function in matplotlib that can draw an image from 2D NumPy data.

More information can be found here.

Best regards,

Moaz

But why is the image reshaped and then transposed?

Hi @Arisha_Prasain,

The X matrix comes with m images of 20x20 pixels âunrolledâ, so each is a vector of 1x400. As you know, the reshape will take one of these rows and convert it back to a 20x20. At this point, you have an image in your X_reshaped variable.

To understand the .T at the end of the reshape, I suggest you run this experiment:

Plot the image without the transpose, and see what is plotted. Then plot it with the .T (well, we did already). What can we conclude from this?

Juan

When plotted without .T, the image was inverted. So, the aim was to convert each row(which represented an image in a 1 by 400 array form) into a 20*20 pixel erect image, right?

Also, I donât know how the image was unrolled into the 1*400 vector in the first place?

"When plotted without .T, the image was inverted. " Exactly! Thatâs why you need to transpose the result.

âSo, the aim was to convert each row(which represented an image in a 1 by 400 array form) into a 20*20 pixel erect image, right?â Right on this too!

" I donât know how the image was unrolled into the 1*400 vector in the first place?" If you read towards the top of the lab, youâll see that you are given this X matrix with m samples of 20x20 images unrolled in 1x400 vectors each. So thatâs data that is provided.

Thank you so much! It is much more clearer now.