Deep_Learning / Fatima_Fellowship_Coding_Challenge2022
Pen98's picture
Upload Fatima_Fellowship_Coding_Challenge2022
6820bdd
{"cells":[{"cell_type":"markdown","metadata":{"id":"eBpjBBZc6IvA"},"source":["# Fatima Fellowship Quick Coding Challenge (Pick 1)\n","\n","Thank you for applying to the Fatima Fellowship. To help us select the Fellows and assess your ability to do machine learning research, we are asking that you complete a short coding challenge. Please pick **1 of these 5** coding challenges, whichever is most aligned with your interests. \n","\n","**Due date: 1 week**\n","\n","**How to submit**: Please make a copy of this colab notebook, add your code and results, and submit your colab notebook to the submission link below. If you have never used a colab notebook, [check out this video](https://www.youtube.com/watch?v=i-HnvsehuSw).\n","\n","**Submission link**: https://airtable.com/shrXy3QKSsO2yALd3"]},{"cell_type":"markdown","metadata":{"id":"braBzmRpMe7_"},"source":["# 1. Deep Learning for Vision"]},{"cell_type":"markdown","metadata":{"id":"1IWw-NZf5WfF"},"source":["**Upside down detector**: Train a model to detect if images are upside down\n","\n","* Pick a dataset of natural images (we suggest looking at datasets on the [Hugging Face Hub](https://huggingface.co/datasets?task_categories=task_categories:image-classification\u0026sort=downloads))\n","* Synthetically turn some of images upside down. Create a training and test set.\n","* Build a neural network (using Tensorflow, PyTorch, or any framework you like)\n","* Train it to classify image orientation until a reasonable accuracy is reached\n","* [Upload the the model to the Hugging Face Hub](https://huggingface.co/docs/hub/adding-a-model), and add a link to your model below.\n","* Look at some of the images that were classified incorrectly. Please explain what you might do to improve your model's performance on these images in the future (you do not need to impelement these suggestions)\n","\n","**Submission instructions**: Please write your code below and include some examples of images that were classified"]},{"cell_type":"markdown","metadata":{"id":"BR4qG4NGvG44"},"source":["## Importation of useful packages "]},{"cell_type":"code","execution_count":1,"metadata":{"executionInfo":{"elapsed":2071,"status":"ok","timestamp":1649194484342,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"K2GJaYBpw91T"},"outputs":[],"source":["from tensorflow.keras.models import Sequential\n","from tensorflow.keras.layers import Dense, Conv2D, MaxPool2D, Flatten, Dropout\n","from tensorflow.keras.optimizers import SGD\n","from tensorflow.keras.datasets import fashion_mnist\n","from tensorflow.keras.layers import Dense, Conv2D, MaxPool2D, Flatten, Dropout\n","from tensorflow.keras.losses import CategoricalCrossentropy\n","from tensorflow.keras.callbacks import ModelCheckpoint\n","import numpy as np\n","import matplotlib.pyplot as plt\n","from keras.utils import np_utils\n","from sklearn.metrics import accuracy_score, confusion_matrix, classification_report\n","from tensorflow.keras.utils import to_categorical\n","from sklearn.preprocessing import LabelEncoder\n","import pandas as pd \n","%matplotlib inline"]},{"cell_type":"markdown","metadata":{"id":"lHkbhhke2tLU"},"source":["## Load and splitting of the dataset into the training and testing parts\n","\n","Fashion-MNIST is a dataset of Zalando's article images—consisting of a training set of 60,000 examples and a test set of 10,000 examples. Each example is a 28x28 grayscale image, associated with a label from 10 classes. We intend Fashion-MNIST to serve as a direct drop-in replacement for the original MNIST dataset for benchmarking machine learning algorithms. It shares the same image size and structure of training and testing splits."]},{"cell_type":"code","execution_count":2,"metadata":{"executionInfo":{"elapsed":415,"status":"ok","timestamp":1649194484748,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"ljch0zysCtwZ"},"outputs":[],"source":["(X_train, Y_train), (X_test, Y_test) = fashion_mnist.load_data()"]},{"cell_type":"markdown","metadata":{"id":"ScZGlmFzlmfV"},"source":["## Turning some of the images upside down "]},{"cell_type":"markdown","metadata":{"id":"wIMSmq6xtRYV"},"source":["Let's install `tensor_flow_addons` which will allow us to rotate the images"]},{"cell_type":"code","execution_count":3,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":4857,"status":"ok","timestamp":1649194489599,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"wj7zw-yu99Cg","outputId":"29633b28-454f-48d5-fc47-7297b1bf0514"},"outputs":[{"name":"stdout","output_type":"stream","text":["Requirement already satisfied: tensorflow_addons in /usr/local/lib/python3.7/dist-packages (0.16.1)\n","Requirement already satisfied: typeguard\u003e=2.7 in /usr/local/lib/python3.7/dist-packages (from tensorflow_addons) (2.7.1)\n"]}],"source":["pip install tensorflow_addons"]},{"cell_type":"markdown","metadata":{"id":"vEWJKs-lrsn4"},"source":["As the original dataset is read-only, In order to turn some 100 images in the X_train dataset, we have to create a copy of this dataset"]},{"cell_type":"code","execution_count":4,"metadata":{"executionInfo":{"elapsed":15,"status":"ok","timestamp":1649194489601,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"Nphnwt2Ntvcn"},"outputs":[],"source":["import tensorflow_addons as tfa"]},{"cell_type":"code","execution_count":5,"metadata":{"executionInfo":{"elapsed":14,"status":"ok","timestamp":1649194489602,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"p9hwUzm1sOjN"},"outputs":[],"source":["x_train = X_train.copy()"]},{"cell_type":"code","execution_count":6,"metadata":{"executionInfo":{"elapsed":14,"status":"ok","timestamp":1649194489603,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"hzOv3f8kDcbc"},"outputs":[],"source":["import tensorflow as tf"]},{"cell_type":"markdown","metadata":{"id":"JC_Sdqs9EaFS"},"source":["We Chose to turn 100 images in the X_train dataset"]},{"cell_type":"code","execution_count":7,"metadata":{"colab":{"background_save":true,"base_uri":"https://localhost:8080/","height":345},"executionInfo":{"elapsed":2500,"status":"error","timestamp":1649194492090,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"lhuvMgDDsWv9"},"outputs":[],"source":["for i in range(100):\n"," image = tfa.image.rotate(X_train[i], tf.constant(np.pi))\n"," x_train[i]=image"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"background_save":true},"executionInfo":{"elapsed":25,"status":"aborted","timestamp":1649194492076,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"32DJG17mE84i"},"outputs":[{"data":{"text/plain":["\u003cmatplotlib.image.AxesImage at 0x7f50100d2790\u003e"]},"execution_count":null,"metadata":{},"output_type":"execute_result"},{"data":{"image/png":"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\n","text/plain":["\u003cFigure size 432x288 with 1 Axes\u003e"]},"metadata":{},"output_type":"display_data"}],"source":["plt.imshow(x_train[0])"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"background_save":true},"executionInfo":{"elapsed":26,"status":"aborted","timestamp":1649194492077,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"FaU_BF2hE9J9"},"outputs":[{"data":{"text/plain":["\u003cmatplotlib.image.AxesImage at 0x7f4fa538a210\u003e"]},"execution_count":null,"metadata":{},"output_type":"execute_result"},{"data":{"image/png":"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\n","text/plain":["\u003cFigure size 432x288 with 1 Axes\u003e"]},"metadata":{},"output_type":"display_data"}],"source":["plt.imshow(x_train[1])"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"background_save":true},"executionInfo":{"elapsed":27,"status":"aborted","timestamp":1649194492078,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"15as9SbyFCAs"},"outputs":[{"data":{"text/plain":["\u003cmatplotlib.image.AxesImage at 0x7f4fa530c310\u003e"]},"execution_count":null,"metadata":{},"output_type":"execute_result"},{"data":{"image/png":"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\n","text/plain":["\u003cFigure size 432x288 with 1 Axes\u003e"]},"metadata":{},"output_type":"display_data"}],"source":["plt.imshow(x_train[2])"]},{"cell_type":"markdown","metadata":{"id":"pYJ0KM473N8-"},"source":["## Visualizing the shapes of the training and testing parts "]},{"cell_type":"markdown","metadata":{"id":"oavg5rePFp4C"},"source":["We can see that the images have been turn upside down"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"background_save":true},"executionInfo":{"elapsed":27,"status":"aborted","timestamp":1649194492079,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"Xymmlw4BC0R4"},"outputs":[{"name":"stdout","output_type":"stream","text":["Training data shape : (60000, 28, 28) (60000,)\n"]}],"source":["print('Training data shape : ', x_train.shape, Y_train.shape)"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"background_save":true},"executionInfo":{"elapsed":27,"status":"aborted","timestamp":1649194492079,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"V1A37H1EK1kr"},"outputs":[{"name":"stdout","output_type":"stream","text":["Testing data shape : (10000, 28, 28) (10000,)\n"]}],"source":["print('Testing data shape : ', X_test.shape, Y_test.shape)"]},{"cell_type":"markdown","metadata":{"id":"_CZ5HoiYgvpj"},"source":["## Reshaping the X_train dataset and the X_test dataset \n","\n","\n","For CNNS, Tensorflow wants the format of the data as follows: [batches, rows, columns, depth]. \n","In this case the colour channel/depth of the images is 1. Currently the shape is:"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"background_save":true},"executionInfo":{"elapsed":28,"status":"aborted","timestamp":1649194492080,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"ly5puFkkCSZH"},"outputs":[],"source":["X_train = np.reshape(X_train, (x_train.shape[0], x_train.shape[1], X_train.shape[2], 1))\n","\n","X_test = np.reshape(X_test, (X_test.shape[0], X_test.shape[1], X_test.shape[2], 1))"]},{"cell_type":"markdown","metadata":{"id":"5Ngxrj2GhDo9"},"source":["## Visualizing the new shapes "]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"background_save":true},"executionInfo":{"elapsed":27,"status":"aborted","timestamp":1649194492080,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"79fWxXSLOQUb"},"outputs":[{"name":"stdout","output_type":"stream","text":["Training data shape : (60000, 28, 28) (60000,)\n"]}],"source":["print('Training data shape : ', x_train.shape, Y_train.shape)"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"background_save":true},"executionInfo":{"elapsed":28,"status":"aborted","timestamp":1649194492081,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"b8NOSySXPKZG"},"outputs":[{"name":"stdout","output_type":"stream","text":["Testing data shape : (10000, 28, 28, 1) (10000,)\n"]}],"source":["print('Testing data shape : ', X_test.shape, Y_test.shape)"]},{"cell_type":"markdown","metadata":{"id":"ru-UeZbsGqKI"},"source":["Let's have a look a a single image "]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"background_save":true},"executionInfo":{"elapsed":28,"status":"aborted","timestamp":1649194492081,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"OzWzWzSWGtIZ"},"outputs":[{"data":{"text/plain":["array([[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0],\n"," [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0],\n"," [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0, 35, 41, 72, 44, 61, 40, 0, 0, 0, 0, 0,\n"," 0, 0],\n"," [ 0, 0, 58, 99, 168, 166, 176, 181, 182, 182, 179, 191, 193,\n"," 220, 221, 244, 243, 246, 242, 239, 237, 222, 200, 66, 0, 0,\n"," 0, 2],\n"," [ 0, 170, 216, 192, 194, 188, 188, 211, 210, 210, 209, 204, 198,\n"," 193, 188, 189, 188, 185, 181, 175, 172, 175, 191, 212, 189, 74,\n"," 0, 0],\n"," [ 92, 210, 177, 167, 156, 176, 192, 198, 191, 195, 191, 194, 196,\n"," 200, 210, 211, 207, 213, 210, 204, 196, 183, 171, 179, 193, 219,\n"," 122, 0],\n"," [115, 206, 205, 181, 172, 177, 181, 186, 206, 199, 216, 225, 236,\n"," 220, 221, 219, 214, 202, 192, 194, 190, 185, 197, 213, 194, 183,\n"," 203, 48],\n"," [ 67, 230, 221, 220, 222, 209, 212, 218, 223, 239, 245, 227, 195,\n"," 240, 213, 198, 206, 197, 185, 216, 225, 211, 205, 193, 204, 212,\n"," 204, 75],\n"," [ 29, 229, 224, 223, 223, 217, 215, 221, 219, 168, 117, 106, 73,\n"," 65, 241, 217, 215, 194, 220, 249, 234, 229, 229, 222, 210, 198,\n"," 233, 98],\n"," [ 0, 225, 228, 222, 209, 204, 210, 191, 154, 188, 221, 229, 255,\n"," 150, 80, 240, 220, 205, 205, 205, 214, 211, 211, 221, 224, 228,\n"," 202, 3],\n"," [ 0, 246, 232, 220, 211, 221, 234, 221, 255, 255, 223, 206, 193,\n"," 245, 159, 200, 209, 208, 214, 204, 208, 224, 221, 224, 208, 187,\n"," 57, 0],\n"," [ 0, 215, 238, 233, 248, 250, 188, 176, 234, 224, 230, 211, 205,\n"," 200, 226, 217, 222, 220, 228, 189, 107, 82, 44, 18, 0, 0,\n"," 0, 0],\n"," [ 0, 159, 244, 224, 215, 219, 223, 224, 218, 211, 208, 218, 221,\n"," 213, 207, 228, 204, 145, 62, 0, 0, 0, 0, 0, 0, 0,\n"," 3, 0],\n"," [ 0, 77, 255, 218, 215, 229, 223, 216, 221, 222, 219, 222, 223,\n"," 217, 226, 237, 0, 0, 0, 0, 0, 2, 7, 6, 4, 1,\n"," 0, 0],\n"," [ 0, 92, 209, 217, 217, 234, 223, 218, 213, 232, 240, 228, 230,\n"," 228, 236, 55, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0],\n"," [ 56, 167, 119, 245, 220, 222, 213, 215, 221, 198, 203, 218, 220,\n"," 222, 244, 99, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0],\n"," [ 52, 209, 197, 226, 212, 224, 218, 208, 227, 169, 192, 218, 212,\n"," 220, 219, 12, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0],\n"," [ 0, 202, 243, 220, 223, 213, 211, 210, 212, 180, 198, 213, 218,\n"," 228, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0],\n"," [ 0, 173, 245, 223, 221, 224, 222, 224, 227, 235, 228, 223, 216,\n"," 225, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0],\n"," [ 0, 229, 196, 123, 127, 164, 213, 215, 223, 223, 229, 233, 232,\n"," 232, 200, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0],\n"," [ 66, 172, 88, 141, 146, 122, 121, 127, 163, 216, 216, 218, 223,\n"," 207, 69, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0],\n"," [ 15, 72, 130, 77, 23, 64, 109, 161, 156, 107, 178, 207, 236,\n"," 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0],\n"," [ 0, 10, 12, 0, 0, 0, 0, 23, 123, 144, 134, 176, 204,\n"," 102, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0],\n"," [ 3, 0, 0, 4, 3, 1, 0, 0, 0, 54, 62, 127, 136,\n"," 36, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0],\n"," [ 0, 1, 1, 0, 0, 0, 0, 4, 1, 0, 0, 73, 13,\n"," 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0],\n"," [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0],\n"," [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0],\n"," [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n"," 0, 0]], dtype=uint8)"]},"execution_count":null,"metadata":{},"output_type":"execute_result"}],"source":["x_train[0]"]},{"cell_type":"markdown","metadata":{"id":"xrBapamvhOIM"},"source":["What is the min/maw for this image ?"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"background_save":true},"executionInfo":{"elapsed":28,"status":"aborted","timestamp":1649194492081,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"NHoRMOKbPOco"},"outputs":[{"data":{"text/plain":["255"]},"execution_count":null,"metadata":{},"output_type":"execute_result"}],"source":["np.max(x_train[0])"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"background_save":true},"executionInfo":{"elapsed":28,"status":"aborted","timestamp":1649194492082,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"Q7OI07MwRSHk"},"outputs":[{"data":{"text/plain":["0"]},"execution_count":null,"metadata":{},"output_type":"execute_result"}],"source":["np.min(x_train[0])"]},{"cell_type":"markdown","metadata":{"id":"cdrUgDLYhYfA"},"source":["## Normalization needed\n","\n","We need to normalise the data since the values range from 0 to 255. Training NNs on data ranging between [0,1] is recommended.\n","\n","Need to normalise all features, including training, validation and testing. We also need to apply the same normalisation to any new data (obtained in the future)."]},{"cell_type":"code","execution_count":null,"metadata":{"executionInfo":{"elapsed":28,"status":"aborted","timestamp":1649194492082,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"NejgPnmTXpCx"},"outputs":[],"source":["x_train = X_train / 255\n","X_test = X_test / 255"]},{"cell_type":"markdown","metadata":{"id":"ohst8-8vhhjd"},"source":["## New minimum and new maximum "]},{"cell_type":"code","execution_count":null,"metadata":{"executionInfo":{"elapsed":29,"status":"aborted","timestamp":1649194492083,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"Ft4VfVVcsvXs"},"outputs":[],"source":["np.max(X_train[0])"]},{"cell_type":"code","execution_count":null,"metadata":{"executionInfo":{"elapsed":29,"status":"aborted","timestamp":1649194492083,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"peZ6_CFIswC0"},"outputs":[],"source":["np.min(X_train[0])"]},{"cell_type":"markdown","metadata":{"id":"9rjNQzCGXNqG"},"source":["## Convertion from cathegorical lables to one-hot encoded vectors\n","\n","In this case there are 10 classes so we can tell the function to convert into a vector of length 10"]},{"cell_type":"code","execution_count":null,"metadata":{"executionInfo":{"elapsed":29,"status":"aborted","timestamp":1649194492084,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"s5weUgetXKU9"},"outputs":[],"source":["Y_train = np_utils.to_categorical(Y_train, 10)\n","Y_test = np_utils.to_categorical(Y_test, 10)\n","num_classes = 10"]},{"cell_type":"code","execution_count":null,"metadata":{"executionInfo":{"elapsed":29,"status":"aborted","timestamp":1649194492084,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"JiO7FB_vXKXs"},"outputs":[],"source":["Y_train[0]"]},{"cell_type":"markdown","metadata":{"id":"7kJ4jXjQxfqO"},"source":["## Creation of the CNN model "]},{"cell_type":"code","execution_count":null,"metadata":{"executionInfo":{"elapsed":29,"status":"aborted","timestamp":1649194492085,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"8Qp4YdwyRSSl"},"outputs":[],"source":["def baseline_model():\n"," # create model\n"," model = Sequential()\n"," \n"," # Since this is the first layer, we need to specify the input shape. Only here, only once.\n"," # We are creating 64 filters each of size 2x2. What will be the depth of each of those 64 filters?\n"," # What will be the resulting depth of the feature map after applying these filters?\n","\n"," # \"valid\" means no padding. \"same\" results in padding with zeros evenly to the \n"," # left/right or up/down of the input such that output has the same height/width dimension as the input. \n"," model.add(Conv2D(filters=128, kernel_size=2, padding='same', activation='relu', input_shape=(28,28,1))) \n"," \n"," # Here we create a 2x2 max pooling layer\n"," model.add(MaxPool2D(pool_size=2))\n"," model.add(MaxPool2D(pool_size=2))\n"," \n"," # In order to pass output from the convolutional block to the dense block, we must flatten each example in the minibatch. \n"," # In other words, we take this four-dimensional input [batch, width, height, depth] and transform it into the two-dimensional input [batch, units/input dimensions] expected by fully-connected layers\n"," model.add(Flatten())\n"," \n"," model.add(Dense(64, activation='relu'))\n"," \n"," model.add(Dropout(0.5))\n","\n"," model.add(Dense(32, activation='relu'))\n","\n"," model.add(Dropout(0.5))\n"," \n"," model.add(Dense(10, activation='softmax'))\n","\n"," optimizer = SGD(learning_rate=0.9)\n"," loss = CategoricalCrossentropy()\n"," \n"," # Compile the model\n"," model.compile(loss=loss,\n"," optimizer=optimizer,\n"," metrics=['accuracy'])\n"," return model"]},{"cell_type":"code","execution_count":null,"metadata":{"executionInfo":{"elapsed":28,"status":"aborted","timestamp":1649194492085,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"EWTH5KIzSMsA"},"outputs":[],"source":["model = baseline_model()"]},{"cell_type":"markdown","metadata":{"id":"gXXSoyHqR402"},"source":["Looking at the number of parameters we have "]},{"cell_type":"code","execution_count":null,"metadata":{"executionInfo":{"elapsed":28,"status":"aborted","timestamp":1649194492085,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"d70AyuzISCtn"},"outputs":[],"source":["model.summary()"]},{"cell_type":"code","execution_count":null,"metadata":{"executionInfo":{"elapsed":28,"status":"aborted","timestamp":1649194492086,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"hrKahn5aU4HU"},"outputs":[],"source":["checkpoint_path = \"training/cp-{epoch:04d}.ckpt\"\n","\n","cp_callback = ModelCheckpoint(filepath=checkpoint_path, \n"," save_best_only=True, \n"," save_weights_only=True, \n"," verbose=1)"]},{"cell_type":"markdown","metadata":{"id":"lRBeIt4jR-US"},"source":["## Model training "]},{"cell_type":"code","execution_count":null,"metadata":{"executionInfo":{"elapsed":27,"status":"aborted","timestamp":1649194492086,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"0eZrhGykU4lo"},"outputs":[],"source":["model.fit(x_train, Y_train, validation_data=(X_test, Y_test), epochs=10, batch_size=256, verbose=1, callbacks=[cp_callback])"]},{"cell_type":"code","execution_count":null,"metadata":{"executionInfo":{"elapsed":28,"status":"aborted","timestamp":1649194492087,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"NPGH2-RXAxvg"},"outputs":[],"source":["model.evaluate(X_test, Y_test)"]},{"cell_type":"markdown","metadata":{"id":"rb33W_RelSb5"},"source":["As the accuracy is very low, we try to improve the model by adding a convolutionnal layer to the model"]},{"cell_type":"code","execution_count":null,"metadata":{"executionInfo":{"elapsed":27,"status":"aborted","timestamp":1649194492087,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"PO_uSrL_yu3M"},"outputs":[],"source":["model = baseline_model()"]},{"cell_type":"code","execution_count":null,"metadata":{"executionInfo":{"elapsed":28,"status":"aborted","timestamp":1649194492088,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"HtHJQlKImT4s"},"outputs":[],"source":["model.summary()"]},{"cell_type":"markdown","metadata":{"id":"qSeLed2JxvGI"},"source":["**Write up**: \n","* Link to the model on Hugging Face Hub: \n","* Include some examples of misclassified images. Please explain what you might do to improve your model's performance on these images in the future (you do not need to impelement these suggestions)"]},{"cell_type":"code","execution_count":null,"metadata":{"executionInfo":{"elapsed":28,"status":"aborted","timestamp":1649194492089,"user":{"displayName":"Peniel Bertrand Tsemo","userId":"16870574371573012135"},"user_tz":-60},"id":"dkJlUy-VNcMP"},"outputs":[],"source":[""]},{"cell_type":"markdown","metadata":{"id":"avRINCfaNud-"},"source":["Click [here]((https://huggingface.co/datasets/fashion_mnist)) to go to our model "]}],"metadata":{"accelerator":"GPU","colab":{"collapsed_sections":[],"name":"TSEMO_Peniel_Bertrand_Fatima_Fellowship_Coding_Challenge2022","version":""},"kernelspec":{"display_name":"Python 3","name":"python3"}},"nbformat":4,"nbformat_minor":0}