Skip to content

Instantly share code, notes, and snippets.

@dwivedys
Created February 1, 2021 06:43
Show Gist options
  • Save dwivedys/43ae486cb92b9d41dde090a42d3a71fb to your computer and use it in GitHub Desktop.
Save dwivedys/43ae486cb92b9d41dde090a42d3a71fb to your computer and use it in GitHub Desktop.
NumpyArraysContd.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "NumpyArraysContd.ipynb",
"provenance": [],
"collapsed_sections": [],
"toc_visible": true,
"authorship_tag": "ABX9TyN5WkvwxJvP91EkNbdh8JBh",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/dwivedys/43ae486cb92b9d41dde090a42d3a71fb/numpyarrayscontd.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Rv_ttMGqXom1"
},
"source": [
"# In this notebook - we will attempt to understand multi-dimensional numpy arrays. "
]
},
{
"cell_type": "code",
"metadata": {
"id": "ogPBJT9NUJhE"
},
"source": [
"import numpy as np"
],
"execution_count": 1,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "kq1Wyp2-cdfk",
"outputId": "b2864659-24dd-49d8-ed91-9b69145e1ece"
},
"source": [
"# A 0D Tensor or zero dimensional array - a scalar\n",
"\n",
"x = np.array(1)\n",
"x"
],
"execution_count": 2,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array(1)"
]
},
"metadata": {
"tags": []
},
"execution_count": 2
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "eRQXbdF7dKlV"
},
"source": [
"Before jumping into arrays of higher dimension it is worthwhile to understand scalar arrays"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "eDGrvEMNcqgc"
},
"source": [
"It has 0 dimension"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "VgSGfocecnLQ",
"outputId": "5d4ab51d-83ec-4484-df27-a7dbda43a8e0"
},
"source": [
"x.ndim"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0"
]
},
"metadata": {
"tags": []
},
"execution_count": 27
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Bj-blZtPcvbZ"
},
"source": [
"It has no shape - because it is a scalar"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "LNf-GE-ictoB",
"outputId": "f894e04a-65f1-49c7-becc-419262ae7ccf"
},
"source": [
"x.shape"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"()"
]
},
"metadata": {
"tags": []
},
"execution_count": 28
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "-075678DdYdd"
},
"source": [
"# Now we move on to the exploration of multidimensional numpy arrays"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "jF5vUEJeYMbZ"
},
"source": [
"As a motivating example - here's an example of a multi-dimensional numpy array\n",
"`numpy.array([[1,2], [3,4], [5,6])`. The way to read this array is as follows\n",
"\n",
"You can see that there are a total of 3 sub-arrays within the big array. Each of the sub-array has 2 elements. This is what we refer to as a 2D numpy array or Tensor of Rank 2\n",
"You can run the shape command on this array and it will give the result `(3,2)` because the array has 3 sub-arrays, each sub-array having 2 elements\n",
"\n",
"Please note that I will be using the terms numpy arrays and Tensors interchangeably. A multi-dimensional array and Tensors are the same technically speaking. We speak of dimensions when we talk of arrays - and we speak of Rank when we talk of Tensors\n",
"\n",
"Note that a constant value like 1 or 2 or any constant number in the context of numpy arrays - declared like so - numpy.array(1) is an array with no dimensions or a zero dim Tensor (0D Tensor)\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "MsOLf6luc1Qm"
},
"source": [
"Now let's explore multi-dimensional numpy arrays"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "6HTwtsFlYuqO",
"outputId": "482d044e-d81d-4eee-9f36-86c9e97cbecd"
},
"source": [
"import numpy as np\n",
"motivating_example_array = np.array([[1,2], [3,4], [5,6]])\n",
"motivating_example_array.shape"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(3, 2)"
]
},
"metadata": {
"tags": []
},
"execution_count": 21
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "gnZ1xGX8Zf8-"
},
"source": [
"You can also run the **ndim** command to check the dimensions of the array, like so; Since this is a 2D array the answer will be 2"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "UD5_mvUdZl-d",
"outputId": "e31703a7-dffb-452b-dd4f-26c6a4c2e42e"
},
"source": [
"motivating_example_array.ndim"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"2"
]
},
"metadata": {
"tags": []
},
"execution_count": 23
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "mpJe0rG0ZZt3"
},
"source": [
"Now let us look at an example of a 3D numpy array or a Tensor of Rank 3;\n",
"As can be seen below, we now have a numpy array that has actually 2 sets of sub-arrays - the first set being `[[1,2], [3,4], [5,6]]` and the second set being `[[7,8], [9,10], [11,12]] `\n",
"Each of these \"sets\" have 3 sub-arrays each and \n",
"Each sub-array has 2 elements \n",
"Hence the SHAPE of this array will be `(2,3,2)`"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "TCjPvMcSZFA3",
"outputId": "18210029-9270-4c69-a743-f57f4ad6b53b"
},
"source": [
"a3Darray_example = np.array([[[1,2], [3,4], [5,6]], [[7,8], [9,10], [11,12]]])\n",
"a3Darray_example.shape"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(2, 3, 2)"
]
},
"metadata": {
"tags": []
},
"execution_count": 22
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "ou00P7S8aFQg"
},
"source": [
"We can again run ndim to find out that it is indeed a 3D array"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "T7Mv7gjPaLq6",
"outputId": "dccf2e7f-c700-4e24-8453-0d12abfdd5ce"
},
"source": [
"a3Darray_example.ndim"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"3"
]
},
"metadata": {
"tags": []
},
"execution_count": 25
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "ExCCQ8Ahbp4O"
},
"source": [
"# Now I would like to explain multi-dimensional numpy arrays or Tensors in the context of the famous MNIST Dataset"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ybB49N1aRpAK",
"outputId": "b6ce2d9f-fc31-4d60-f67f-0abae4fdfd7a"
},
"source": [
"from keras.datasets import mnist\n",
"(train_images, train_labels), (test_images, test_labels) = mnist.load_data()"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz\n",
"11493376/11490434 [==============================] - 0s 0us/step\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "1FKEkueTWBq4"
},
"source": [
"**The train_images numpy array is a 3 Dimensional numpy array or a tensor of Rank 3; It has 60000 sub-arrays, with each sub-array itself having 28 sub-arrays and each of the 28 sub-arrays having 28 elements. \n",
"We shall explore these points through the commands below**\n",
" "
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "gSsFDdG1Rpp7",
"outputId": "4f4f240e-eacc-4650-f067-38d692da3ee0"
},
"source": [
"train_images.shape"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(60000, 28, 28)"
]
},
"metadata": {
"tags": []
},
"execution_count": 2
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "gCFiOguVWj55",
"outputId": "e56daa30-dd01-46dc-883a-3e02a4368a2e"
},
"source": [
"train_images.ndim"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"3"
]
},
"metadata": {
"tags": []
},
"execution_count": 19
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "yLSQ6OgqWogW"
},
"source": [
"**As stated above the very first element of train_images is an array which has 28 sub-arrays in it. So its length should be 28 as demonstrated below**"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "RMc2cjzbS2Yp",
"outputId": "f475d9cd-4f2a-4e19-c395-a6de989b9174"
},
"source": [
"len(train_images[0])"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"28"
]
},
"metadata": {
"tags": []
},
"execution_count": 9
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Uc8i8mMJW6U8"
},
"source": [
"**Again observe that the very first sub-array of the first element of train_images has 28 elements in it - so its length also will be 28**"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "blAjmFbnSMfb",
"outputId": "917bbd82-08be-4c64-b4ae-2758130692d7"
},
"source": [
"len(train_images[0][0])"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"28"
]
},
"metadata": {
"tags": []
},
"execution_count": 8
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "DYiFHgrBS8RT"
},
"source": [
"**Let us inspect the very first sub-array of train_images in the first of the 60000 sub-arrays**"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "u86NU6cBTAhk",
"outputId": "39706b2f-81ec-4098-daf0-82d90264fc40"
},
"source": [
"train_images[0][0]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 0, 0, 0, 0, 0], dtype=uint8)"
]
},
"metadata": {
"tags": []
},
"execution_count": 10
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "RuPNWYPITJjf"
},
"source": [
"**And the second sub-array in the first group**"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "8p_c0jG3TZ60",
"outputId": "f476ce42-80a7-40b6-812f-8cd1de7b2f95"
},
"source": [
"train_images[0][1]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 0, 0, 0, 0, 0], dtype=uint8)"
]
},
"metadata": {
"tags": []
},
"execution_count": 11
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "BlzjX7ILTl6t"
},
"source": [
"**And here's the first sub-array of the 59999th sub-array**"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "bJTI7kGGTfPF",
"outputId": "cd2e078d-a39f-43b5-f618-ae6c75e0261a"
},
"source": [
"train_images[59999][0]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 0, 0, 0, 0, 0], dtype=uint8)"
]
},
"metadata": {
"tags": []
},
"execution_count": 12
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "2RLUkq1UT4Me",
"outputId": "dd5d22d8-a900-496d-d1de-62b444579fa4"
},
"source": [
"train_images[59999][0][0]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0"
]
},
"metadata": {
"tags": []
},
"execution_count": 13
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "u-9P8N87XW9b"
},
"source": [
"**Let us pull out the very last (28th) element of each of the sub-arrays; there should be a total of 60000 such elements broken into sub-arrays of 28 elements each**"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ohZQY-3rUPOv",
"outputId": "7a5a3601-ea2e-4915-e10c-6b30dcb27d0a"
},
"source": [
"train_images[:,:,27]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" ...,\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0]], dtype=uint8)"
]
},
"metadata": {
"tags": []
},
"execution_count": 15
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "6jim5wR0UW77",
"outputId": "1133afeb-1b47-4583-d18d-082107f8a8bb"
},
"source": [
"len(train_images[:,:,27])"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"60000"
]
},
"metadata": {
"tags": []
},
"execution_count": 17
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "XOi6S2cfeI_K"
},
"source": [
"**And we can check that each sub-array amongst the 60000 sub-arrays is of length 28**\n"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "TEIntgChUs-t",
"outputId": "544fecff-690e-44de-eaeb-a5fa9f311169"
},
"source": [
"len(train_images[:,:,27][0])"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"28"
]
},
"metadata": {
"tags": []
},
"execution_count": 18
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "AzLmr29we1l3"
},
"source": [
"**The code below pulls out the very first sub-array of each of the 28 sub-arrays of each of the 60000 arrays**"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "l3vLQ-j-RyGp",
"outputId": "57da75d4-e1f1-44ec-a7c4-397d38997207"
},
"source": [
"train_images[0:,:,]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[[0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" ...,\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0]],\n",
"\n",
" [[0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" ...,\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0]],\n",
"\n",
" [[0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" ...,\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0]],\n",
"\n",
" ...,\n",
"\n",
" [[0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" ...,\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0]],\n",
"\n",
" [[0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" ...,\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0]],\n",
"\n",
" [[0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" ...,\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0]]], dtype=uint8)"
]
},
"metadata": {
"tags": []
},
"execution_count": 4
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "bNzLM3b4fFIO"
},
"source": [
"**As expected there are 60000 sub-arrays. **"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "r7TvEM0tSSqa",
"outputId": "2eac3ec2-6247-4107-8685-e6e2e0f7900c"
},
"source": [
"len(train_images[:,0:,])"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"60000"
]
},
"metadata": {
"tags": []
},
"execution_count": 6
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "0YE0_ePcfNQl"
},
"source": [
"**The length of any of these 60000 sub-arrays will be 28**"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "zpqTfVHvR0c2",
"outputId": "105fb728-dc81-4c72-d254-37663114e76e"
},
"source": [
"len(train_images[:,0:,][0])"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"28"
]
},
"metadata": {
"tags": []
},
"execution_count": 29
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "YMYYFjgQfMYO"
},
"source": [
"my_slice = train_images[10:100]"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ioLDndiPqmgY",
"outputId": "7af171de-9c8c-4c60-92c6-5c723b236646"
},
"source": [
"# This will return a 2 Dim array of 28 rows and 28 columns\n",
"train_images[0].ndim"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"2"
]
},
"metadata": {
"tags": []
},
"execution_count": 48
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "-ypsd8XYq8Du",
"outputId": "83f599ed-4b37-4191-b64a-7a35e991268b"
},
"source": [
"# This has a total of 28 sub-arrays - each sub-array has 28 elements\n",
"train_images[0].shape"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(28, 28)"
]
},
"metadata": {
"tags": []
},
"execution_count": 49
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "ZiK6ihZzp0_V"
},
"source": [
"**Let us inspect some actual images of the hand-written numbers in MNIST DB - particularly in the training dataset corresponding to 0th, 1st and 2nd array items - let us see what numbers they return; in essence these are the first 3 numbers in the MNIST dataset**\n"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"id": "fV312g7dkPgl",
"outputId": "9be3aeb5-ec8e-4b14-c5a4-5c1032fab130"
},
"source": [
"import matplotlib.pyplot as plt\n",
"digits = train_images[0:5]\n",
"for d in range(len(digits)):\n",
" plt.imshow(digits[d], cmap = plt.cm.binary)\n",
" plt.show()\n"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "ySu_CrNnrkaA"
},
"source": [
"#We can individually check also\n",
"\n"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 265
},
"id": "EoC9xlcXkBJu",
"outputId": "be1ac865-5887-4324-8632-de4be774baa3"
},
"source": [
"digit = train_images[0]\n",
"import matplotlib.pyplot as plt\n",
"plt.imshow(digit, cmap=plt.cm.binary)\n",
"plt.show()"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 265
},
"id": "YZ2cMEOPrtZT",
"outputId": "39fda15c-efd8-4b6a-cafc-d5926c68cc1f"
},
"source": [
"digit = train_images[1]\n",
"import matplotlib.pyplot as plt\n",
"plt.imshow(digit, cmap=plt.cm.binary)\n",
"plt.show()"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 265
},
"id": "bs9IxdXwryZX",
"outputId": "292a2b75-0ec6-4167-aed9-a6c2ea752adc"
},
"source": [
"\n",
"digit = train_images[2]\n",
"import matplotlib.pyplot as plt\n",
"plt.imshow(digit, cmap=plt.cm.binary)\n",
"plt.show()\n"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "5mu7CTojr4Jp",
"outputId": "f574fcd5-7693-4fdc-844d-036198c2bb7a"
},
"source": [
"digits = train_images[10:100]\n",
"digits.shape # (90, 28, 28)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(90, 28, 28)"
]
},
"metadata": {
"tags": []
},
"execution_count": 56
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "fH1oh5Rxvkmt"
},
"source": [
"# To extract 14 * 14 pixels from the bottom right of all images in the dataset \n",
"digits = train_images[:14:,14:]"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 265
},
"id": "3Dq4cw4etU5j",
"outputId": "8ccb2cf2-a372-4a94-f8ec-0a7f76432eb6"
},
"source": [
"# to extract 14 by 14 pixel centered in the middle for all images\n",
"\n",
"digits = train_images[1,7:-7,7:-7]\n",
"plt.imshow(digits, cmap = plt.cm.binary)\n",
"plt.show()"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 265
},
"id": "I30LqMbSuxTR",
"outputId": "6b4c8954-0942-4749-f105-b4fe49c5a206"
},
"source": [
"# to extract 14 * 14 for the first image\n",
"digits = train_images[0,7:-7, 7:-7]\n",
"plt.imshow(digits, cmap=plt.cm.binary)\n",
"plt.show()\n"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"id": "SMJBvKtuvOTM",
"outputId": "9a7bc370-b508-4154-9433-86ba4d134aad"
},
"source": [
"# Let us crop 14 * 14 pixels from the middle of the first 5 images\n",
"import matplotlib.pyplot as plt\n",
"digits = train_images[0:5, 7:-7, 7:-7]\n",
"for d in range(len(digits)):\n",
" plt.imshow(digits[d], cmap = plt.cm.binary)\n",
" plt.show()"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "qeVWs6XewGsc",
"outputId": "3d213a08-dd8f-4ebf-ac82-a0d825d0da40"
},
"source": [
"a = np.arange(20)\n",
"a[15:]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([15, 16, 17, 18, 19])"
]
},
"metadata": {
"tags": []
},
"execution_count": 68
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "_yTaxGmixQNZ",
"outputId": "6afc7053-b437-4ed0-9e06-dbacf2a37f08"
},
"source": [
"a[:15]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])"
]
},
"metadata": {
"tags": []
},
"execution_count": 69
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "IyXE7LmaxTkA",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "d7b11934-7ed9-42b2-9eab-757cc8607807"
},
"source": [
"a[10:-5]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([10, 11, 12, 13, 14])"
]
},
"metadata": {
"tags": []
},
"execution_count": 70
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "mwMRGPoOxYuZ"
},
"source": [
""
],
"execution_count": null,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment