From c20fc288c25efe5b971b08b8ed2a8b551abf2f2a Mon Sep 17 00:00:00 2001 From: Claudio Maggioni Date: Tue, 8 Jun 2021 11:56:16 +0200 Subject: [PATCH] hw2: done --- as2_Maggioni_Claudio/README.md | 142 ++ .../deliverable/nn_task1/nn_task1.h5 | 3 + .../deliverable/nn_task2/nn_task2_aug.h5 | 3 + .../deliverable/nn_task2/nn_task2_noaug.h5 | 3 + as2_Maggioni_Claudio/deliverable/run_task1.py | 59 + as2_Maggioni_Claudio/deliverable/run_task2.py | 122 ++ .../report_Maggioni_Claudio.pdf | Bin 0 -> 137427 bytes .../report_Maggioni_Claudio.tex | 236 ++++ as2_Maggioni_Claudio/src/Assignment 2.ipynb | 1251 +++++++++++++++++ as2_Maggioni_Claudio/src/Assignment 2.pdf | Bin 0 -> 124558 bytes as2_Maggioni_Claudio/src/my_civar10.csv | 65 + as2_Maggioni_Claudio/src/my_vgg16_aug.csv | 0 as2_Maggioni_Claudio/src/my_vgg16_noaug.csv | 35 + as2_Maggioni_Claudio/src/t_test.py | 22 + as2_Maggioni_Claudio/t1_plot.png | Bin 0 -> 17057 bytes as2_Maggioni_Claudio/t2_aug.png | Bin 0 -> 15379 bytes as2_Maggioni_Claudio/t2_noaug.png | Bin 0 -> 15783 bytes 17 files changed, 1941 insertions(+) create mode 100644 as2_Maggioni_Claudio/README.md create mode 100644 as2_Maggioni_Claudio/deliverable/nn_task1/nn_task1.h5 create mode 100644 as2_Maggioni_Claudio/deliverable/nn_task2/nn_task2_aug.h5 create mode 100644 as2_Maggioni_Claudio/deliverable/nn_task2/nn_task2_noaug.h5 create mode 100644 as2_Maggioni_Claudio/deliverable/run_task1.py create mode 100644 as2_Maggioni_Claudio/deliverable/run_task2.py create mode 100644 as2_Maggioni_Claudio/report_Maggioni_Claudio.pdf create mode 100644 as2_Maggioni_Claudio/report_Maggioni_Claudio.tex create mode 100644 as2_Maggioni_Claudio/src/Assignment 2.ipynb create mode 100644 as2_Maggioni_Claudio/src/Assignment 2.pdf create mode 100644 as2_Maggioni_Claudio/src/my_civar10.csv create mode 100644 as2_Maggioni_Claudio/src/my_vgg16_aug.csv create mode 100644 as2_Maggioni_Claudio/src/my_vgg16_noaug.csv create mode 100644 as2_Maggioni_Claudio/src/t_test.py create mode 100644 as2_Maggioni_Claudio/t1_plot.png create mode 100644 as2_Maggioni_Claudio/t2_aug.png create mode 100644 as2_Maggioni_Claudio/t2_noaug.png diff --git a/as2_Maggioni_Claudio/README.md b/as2_Maggioni_Claudio/README.md new file mode 100644 index 0000000..9e073da --- /dev/null +++ b/as2_Maggioni_Claudio/README.md @@ -0,0 +1,142 @@ +# Assignment 2 + +In this assignment you are asked to: + +1. Implement a neural network to classify images from the CIFAR10 dataset; +2. Fine-tune a pre-trained neural network to classify rock, paper, scissors hand gestures. + +Both requests are very similar to what we have seen during the labs. However, you are required to follow **exactly** the assignment's specifications. + +Once completed, please submit your solution on the iCorsi platform following the instructions below. + + +## Tasks + + +### T1. Follow our recipe + +Implement a multi-class classifier to identify the subject of the images from [CIFAR-10](https://www.cs.toronto.edu/%7Ekriz/cifar.html) data set. To simply the problem, we restrict the classes to 3: `airplane`, `automobile` and `bird`. + +1. Download and load CIFAR-10 dataset using the following [function](https://www.tensorflow.org/api_docs/python/tf/keras/datasets/cifar10/load_data), and consider only the first three classes. Check `src/utils.py`, there is already a function for this! +2. Preprocess the data: + - Normalize each pixel of each channel so that the range is [0, 1]; + - Create one-hot encoding of the labels. +3. Build a neural network with the following architecture: + - Convolutional layer, with 8 filters of size 5 by 5, stride of 1 by 1, and ReLU activation; + - Max pooling layer, with pooling size of 2 by 2; + - Convolutional layer, with 16 filters of size 3 by 3, stride of 2 by 2, and ReLU activation; + - Average pooling layer, with pooling size of 2 by 2; + - Layer to convert the 2D feature maps to vectors (Flatten layer); + - Dense layer with 8 neurons and tanh activation; + - Dense output layer with softmax activation; +4. Train the model on the training set from point 1 for 500 epochs: + - Use the RMSprop optimization algorithm, with a learning rate of 0.003 and a batch size of 128; + - Use categorical cross-entropy as a loss function; + - Implement early stopping, monitoring the validation accuracy of the model with a patience of 10 epochs and use 20% of the training data as validation set; + - When early stopping kicks in, and the training procedure stops, restore the best model found during training. +5. Draw a plot with epochs on the x-axis and with two graphs: the train accuracy and the validation accuracy (remember to add a legend to distinguish the two graphs!). +6. Assess the performances of the network on the test set loaded in point 1, and provide an estimate of the classification accuracy that you expect on new and unseen images. +7. **Bonus** (Optional) Tune the learning rate and the number of neurons in the last dense hidden layer with a **grid search** to improve the performances (if feasible). + - Consider the following options for the two hyper-parameters (4 models in total): + + learning rate: [0.01, 0.0001] + + number of neurons: [16, 64] + - Keep all the other hyper-parameters as in point 3. + - Perform a grid search on the chosen ranges based on hold-out cross-validation in the training set and identify the most promising hyper-parameter setup. + - Compare the accuracy on the test set achieved by the most promising configuration with that of the model obtained in point 4. Are the accuracy levels statistically different? + + +### T2. Transfer learning + +In this task, we will fine-tune the last layer of a pretrained model in order to build a classifier for the rock, paper, scissors dataset that we acquired for the lab. The objective is to make use of the experience collected on a task to bootstrap the performances on a different task. We are going to use the VGG16 network, pretrained on Imagenet to compete in the ILSVRC-2014 competition. + +VGG16 is very expensive to train from scratch, but luckily the VGG team publicly released the trained weights of the network, so that people could use it for transfer learning. As we discussed during classes, this can be achieved by removing the last fully connected layers form the pretrained model and by using the output of the convolutional layers (with freezed weights) as input to a new fully connected network. This last part of the model is then trained from scratch on the task of interest. + +1. Use `keras` to download a pretrained version of the `vgg16` network. You can start from this snippet of code: + +```python +from tensorflow.keras import applications + +# since VGG16 was trained on high-resolution images using a low resolution might not be a good idea +img_h, img_w = 224, 224 + +# Build the VGG16 network and download pre-trained weights and remove the last dense layers. +vgg16 = applications.VGG16(weights='imagenet', + include_top=False, + input_shape=(img_h, img_w, 3)) +# Freezes the network weights +vgg16.trainable = False + +# Now you can use vgg16 as you would use any other layer. +# Example: + +net = Sequential() +net.add(vgg16) +net.add(Flatten()) +net.add(Dense(...)) +... +``` +2. Download and preprocess the rock, paper, scissor dataset that we collected for the lab. + - You find the functions to download and build the dataset in `src/utils.py`. + - Vgg16 provides a function to prepropress the input (`applications.vgg16.preprocess_input`). You may decide to use it. + - Use 224x224 as image dimension. +4. Add a hidden layer (use any number of units and the activation function that you want), then add an output layer suitable for the hand gesture classification problem. +6. Train with and without data augmentation and report the learning curves (train and validation accuracy) for both cases. + - Turn on the GPU environment on Colab, otherwise training will be slow. + - Train for 50 epochs or until convergence. + - Comment if using data augmentation led to an improvement or not. + + +## Instructions + +### Tools + +Your solution must be entirely coded in **Python 3** ([not Python 2](https://python3statement.org/)). +We recommend to use Keras from TensorFlow2 that we seen in the labs, so that you can reuse the code in there as reference. + +All the required tasks can be completed using Keras. On the [documentation page](https://www.tensorflow.org/api_docs/python/tf/keras/) there is a useful search field that allows you to smoothly find what you are looking for. +You can develop your code in Colab, where you have access to a GPU, or you can install the libraries on your machine and develop locally. + + +### Submission + +In order to complete the assignment, you must submit a zip file named `as2_surname_name.zip` on the iCorsi platform containing: + +1. A report in `.pdf` format containing the plots and comments of the two tasks. You can use the `.tex` source code provided in the repo (not mandatory). +2. The two best models you find for both the tasks (one per task). By default, the keras function to save the model outputs a folder with several files inside. If you prefer a more compact solution, just append `.h5` at the end of the name you use to save the model to end up with a single file. +3. A working example `run_task1.py` that loads the test set in CIFAR-10 dataset, preprocesses the data, loads the trained model from file and evaluate the accuracy. In case you completed the bonus point, turn in the model with the highest accuracy. +3. A working example `run_task2.py` that loads the test set of the rock, paper, scissors dataset, preprocesses the data, loads the trained model from file and evaluate the accuracy. +4. A folder `src` with all the source code you used to build, train, and evaluate your models. + +The zip file should eventually looks like as follows + +``` +as2_surname_name/ + report_surname_name.pdf + deliverable/ + run_task1.py + run_task2.py + nn_task1/ # or any other file storing the model from task T1, e.g., nn_task1.h5 + nn_task2/ # or any other file storing the model from task T2, e.g., nn_task2.h5 + src/ + file1.py + file2.py + ... +``` + + +### Evaluation criteria + +You will get a positive evaluation if: + +- your code runs out of the box (i.e., without needing to change your code to evaluate the assignment); +- your code is properly commented; +- the performance assessment is conducted appropriately; + +You will get a negative evaluation if: + +- we realize that you copied your solution; +- your code requires us to edit things manually in order to work; +- you did not follow our detailed instructions in tasks T1 and T2. + +Bonus parts are optional and are not required to achieve the maximum grade, however they can grant you extra points. + diff --git a/as2_Maggioni_Claudio/deliverable/nn_task1/nn_task1.h5 b/as2_Maggioni_Claudio/deliverable/nn_task1/nn_task1.h5 new file mode 100644 index 0000000..0fa5d17 --- /dev/null +++ b/as2_Maggioni_Claudio/deliverable/nn_task1/nn_task1.h5 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3fe89d27f41288e5fb4edffb647a1e138012a72ca137302d1d7c645fbf43116e +size 67296 diff --git a/as2_Maggioni_Claudio/deliverable/nn_task2/nn_task2_aug.h5 b/as2_Maggioni_Claudio/deliverable/nn_task2/nn_task2_aug.h5 new file mode 100644 index 0000000..bd48e29 --- /dev/null +++ b/as2_Maggioni_Claudio/deliverable/nn_task2/nn_task2_aug.h5 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d22dbfc1a250e43df9866b63d02f1eaed620b65d18f59d8f9ccaa9ed1996ad12 +size 97468912 diff --git a/as2_Maggioni_Claudio/deliverable/nn_task2/nn_task2_noaug.h5 b/as2_Maggioni_Claudio/deliverable/nn_task2/nn_task2_noaug.h5 new file mode 100644 index 0000000..0e8fc0d --- /dev/null +++ b/as2_Maggioni_Claudio/deliverable/nn_task2/nn_task2_noaug.h5 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54977bba8ec31d51ac5e1661e9857fd6e458c15ad12b6a081810898cdae921d9 +size 97469024 diff --git a/as2_Maggioni_Claudio/deliverable/run_task1.py b/as2_Maggioni_Claudio/deliverable/run_task1.py new file mode 100644 index 0000000..9b9a422 --- /dev/null +++ b/as2_Maggioni_Claudio/deliverable/run_task1.py @@ -0,0 +1,59 @@ +from tensorflow.keras.models import load_model +import os +import pickle +import urllib.request as http +from zipfile import ZipFile +from tensorflow.keras import utils + +import tensorflow as tf +import numpy as np +from PIL import Image + +from tensorflow.keras import layers as keras_layers +from tensorflow.keras import backend as K +from tensorflow.keras.datasets import cifar10 +from tensorflow.keras.models import save_model, load_model + + +def load_cifar10(num_classes=3): + """ + Downloads CIFAR-10 dataset, which already contains a training and test set, + and return the first `num_classes` classes. + Example of usage: + + >>> (x_train, y_train), (x_test, y_test) = load_cifar10() + + :param num_classes: int, default is 3 as required by the assignment. + :return: the filtered data. + """ + (x_train_all, y_train_all), (x_test_all, y_test_all) = cifar10.load_data() + + fil_train = tf.where(y_train_all[:, 0] < num_classes)[:, 0] + fil_test = tf.where(y_test_all[:, 0] < num_classes)[:, 0] + + y_train = y_train_all[fil_train] + y_test = y_test_all[fil_test] + + x_train = x_train_all[fil_train] + x_test = x_test_all[fil_test] + + return (x_train, y_train), (x_test, y_test) + +if __name__ == '__main__': + + _, (x_test, y_test) = load_cifar10() + + # Load the trained models + model_task1 = load_model('nn_task1/nn_task1.h5') + x_test_n = x_test / 255 + y_test_n = utils.to_categorical(y_test, 3) + + # Predict on the given samples + #for example + y_pred_task1 = model_task1.predict(x_test_n) + + # Evaluate the missclassification error on the test set + # for example + assert y_test_n.shape == y_pred_task1.shape + test_loss, test_accuracy = model_task1.evaluate(x_test_n, y_test_n) # evaluate accuracy with proper function + print("Accuracy model task 1:", test_accuracy) diff --git a/as2_Maggioni_Claudio/deliverable/run_task2.py b/as2_Maggioni_Claudio/deliverable/run_task2.py new file mode 100644 index 0000000..b13a7ee --- /dev/null +++ b/as2_Maggioni_Claudio/deliverable/run_task2.py @@ -0,0 +1,122 @@ +import os +import pickle +import urllib.request as http +from zipfile import ZipFile +from tensorflow.keras import Sequential, applications + +import tensorflow as tf +import numpy as np +from PIL import Image + +from tensorflow.keras import utils + +from tensorflow.keras import layers as keras_layers +from tensorflow.keras import backend as K +from tensorflow.keras.datasets import cifar10 +from tensorflow.keras.models import save_model, load_model + +import torch +from keras.preprocessing.image import img_to_array, array_to_img + +def load_keras_model(filename): + """ + Loads a compiled Keras model saved with models.save_model. + + :param filename: string, path to the file storing the model. + :return: the model. + """ + model = load_model(filename) + return model + +def load_rps(download=False, path='rps', reduction_factor=1): + """ + Downloads the rps dataset and returns the training and test sets. + Example of usage: + + >>> (x_train, y_train), (x_test, y_test) = load_rps() + + :param download: bool, default is False but for the first call should be True. + :param path: str, subdirectory in which the images should be downloaded, default is 'rps'. + :param reduction_factor: int, factor of reduction of the dataset (len = old_len // reduction_factor). + :return: the images and labels split into training and validation sets. + """ + url = 'https://drive.switch.ch/index.php/s/xjXhuYDUzoZvL02/download' + classes = ('rock', 'paper', 'scissors') + rps_dir = os.path.abspath(path) + filename = os.path.join(rps_dir, 'data.zip') + if not os.path.exists(rps_dir) and not download: + raise ValueError("Dataset not in the path. You should call this function with `download=True` the first time.") + if download: + os.makedirs(rps_dir, exist_ok=True) + print(f"Downloading rps images in {rps_dir} (may take a couple of minutes)") + path, msg = http.urlretrieve(url, filename) + with ZipFile(path, 'r') as zip_ref: + zip_ref.extractall(rps_dir) + os.remove(filename) + train_dir, test_dir = os.path.join(rps_dir, 'train'), os.path.join(rps_dir, 'test') + print("Loading training set...") + x_train, y_train = load_images_with_label(train_dir, classes) + x_train, y_train = x_train[::reduction_factor], y_train[::reduction_factor] + print("Loaded %d images for training" % len(y_train)) + print("Loading test set...") + x_test, y_test = load_images_with_label(test_dir, classes) + x_test, y_test = x_test[::reduction_factor], y_test[::reduction_factor] + print("Loaded %d images for testing" % len(y_test)) + return (x_train, y_train), (x_test, y_test) + +def load_images(path): + img_files = os.listdir(path) + imgs, labels = [], [] + for i in img_files: + if i.endswith('.jpg'): + # load the image (here you might want to resize the img to save memory) + imgs.append(Image.open(os.path.join(path, i)).copy()) + return imgs + +def load_images_with_label(path, classes): + imgs, labels = [], [] + for c in classes: + # iterate over all the files in the folder + c_imgs = load_images(os.path.join(path, c)) + imgs.extend(c_imgs) + labels.extend([c] * len(c_imgs)) + return imgs, labels + +if __name__ == '__main__': + model_aug = load_keras_model("nn_task2/nn_task2_aug.h5") + model_noaug = load_keras_model("nn_task2/nn_task2_noaug.h5") + + # Resize the input images + resize = lambda x: [e.resize((224,224)) for e in x] + + def process(x): + x_n = resize(x) + for i in range(len(x)): + bgr = img_to_array(x_n[i])[..., ::-1] + mean = [103.939, 116.779, 123.68] + bgr -= mean + x_n[i] = bgr + return x_n + + _, (x_test, y_test) = load_rps(download=not os.path.exists("rps")) + x_test_n = tf.convert_to_tensor(process(x_test)) + + MAP = {'scissors': 0, 'paper': 1, 'rock': 2} + print(MAP) + mapfunc = np.vectorize(lambda x: MAP[x]) + y_test_n = utils.to_categorical(mapfunc(y_test), 3) + + print(np.shape(y_test_n)) + + y_pred_task1 = model_noaug.predict(x_test_n) + y_pred_task2 = model_aug.predict(x_test_n) + + # Evaluate the missclassification error on the test set + # for example + assert y_test_n.shape == y_pred_task1.shape + acc = model_noaug.evaluate(x_test_n, y_test_n)[1] # evaluate accuracy with proper function + print("Accuracy model task 2 (no augmentation):", acc) + + assert y_test_n.shape == y_pred_task2.shape + acc = model_aug.evaluate(x_test_n, y_test_n)[1] # evaluate accuracy with proper function + print("Accuracy model task 2 (with augmentation):", acc) diff --git a/as2_Maggioni_Claudio/report_Maggioni_Claudio.pdf b/as2_Maggioni_Claudio/report_Maggioni_Claudio.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4159e571557a732dfd890b1339082defcc5a4fad GIT binary patch literal 137427 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 z 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ĭ?>iF`4-MN&7rW9&}FGk4yP# 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 literal 0 HcmV?d00001 diff --git a/as2_Maggioni_Claudio/report_Maggioni_Claudio.tex b/as2_Maggioni_Claudio/report_Maggioni_Claudio.tex new file mode 100644 index 0000000..d801b53 --- /dev/null +++ b/as2_Maggioni_Claudio/report_Maggioni_Claudio.tex @@ -0,0 +1,236 @@ + +%---------------------------------------------------------------------------------------- +% Machine Learning Assignment Template +%---------------------------------------------------------------------------------------- + +\documentclass[11pt]{scrartcl} +\newcommand*\student[1]{\newcommand{\thestudent}{{#1}}} + +%---------------------------------------------------------------------------------------- +% INSERT HERE YOUR NAME +%---------------------------------------------------------------------------------------- + +\student{Claudio Maggioni} + +%---------------------------------------------------------------------------------------- +% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS +%---------------------------------------------------------------------------------------- + +\usepackage[utf8]{inputenc} % Required for inputting international characters +\usepackage[T1]{fontenc} % Use 8-bit encoding +\usepackage[sc]{mathpazo} +\usepackage{caption, subcaption} +\usepackage[colorlinks=true]{hyperref} +\usepackage{inconsolata} + +\usepackage[english]{babel} % English language hyphenation +\usepackage{amsmath, amsfonts} % Math packages +\usepackage{listings} % Code listings, with syntax highlighting +\usepackage{graphicx} % Required for inserting images +\graphicspath{{Figures/}{./}} % Specifies where to look for included images (trailing slash required) +\usepackage{float} + +%---------------------------------------------------------------------------------------- +% DOCUMENT MARGINS +%---------------------------------------------------------------------------------------- + +\usepackage{geometry} % For page dimensions and margins +\geometry{ + paper=a4paper, + top=2.5cm, % Top margin + bottom=3cm, % Bottom margin + left=3cm, % Left margin + right=3cm, % Right margin +} +\setlength\parindent{0pt} + +%---------------------------------------------------------------------------------------- +% SECTION TITLES +%---------------------------------------------------------------------------------------- + +\usepackage{sectsty} +\sectionfont{\vspace{6pt}\centering\normalfont\scshape} +\subsectionfont{\normalfont\bfseries} % \subsection{} styling +\subsubsectionfont{\normalfont\itshape} % \subsubsection{} styling +\paragraphfont{\normalfont\scshape} % \paragraph{} styling + +%---------------------------------------------------------------------------------------- +% HEADERS AND FOOTERS +%---------------------------------------------------------------------------------------- + +\usepackage{scrlayer-scrpage} +\ofoot*{\pagemark} % Right footer +\ifoot*{\thestudent} % Left footer +\cfoot*{} % Centre footer + +%---------------------------------------------------------------------------------------- +% TITLE SECTION +%---------------------------------------------------------------------------------------- + +\title{ + \normalfont\normalsize + \textsc{Machine Learning\\% + Universit\`a della Svizzera italiana}\\ + \vspace{25pt} + \rule{\linewidth}{0.5pt}\\ + \vspace{20pt} + {\huge Assignment 2}\\ + \vspace{12pt} + \rule{\linewidth}{1pt}\\ + \vspace{12pt} +} + +\author{\LARGE \thestudent} + +\date{\normalsize\today} + +\begin{document} + +\maketitle + +In this assignment you are asked to: + +\begin{enumerate} +\item Implement a neural network to classify images from the \texttt{CIFAR10} dataset; +\item Fine-tune a pre-trained neural network to classify rock, paper, scissors hand gestures. +\end{enumerate} + +Both requests are very similar to what we have seen during the labs. However, you are required to follow \textbf{exactly} the assignment's specifications. + +%---------------------------------------------------------------------------------------- +% Task 1 +%---------------------------------------------------------------------------------------- + +\section{Follow our recipe} + +Implement a multi-class classifier to identify the subject of the images from \href{https://www.cs.toronto.edu/\%7Ekriz/cifar.html}{\texttt{CIFAR-10}} data set. To simply the problem, we restrict the classes to 3: \texttt{airplane}, \texttt{automobile} and \texttt{bird}. + +\begin{enumerate} +\item Download and load \texttt{CIFAR-10} dataset using the following \href{https://www.tensorflow.org/api_docs/python/tf/keras/datasets/cifar10/load_data}{function}, and consider only the first three classes. Check \texttt{src/utils.py}, there is already a function for this! +\item Preprocess the data: +\begin{itemize} +\item Normalize each pixel of each channel so that the range is [0, 1]; +\item Create one-hot encoding of the labels. +\end{itemize} +\item Build a neural network with the following architecture: +\begin{itemize} +\item Convolutional layer, with 8 filters of size 5$\times$5, stride of 1$\times$1, and ReLU activation; +\item Max pooling layer, with pooling size of 2$\times$2; +\item Convolutional layer, with 16 filters of size 3$\times$3, stride of 2$\times$2, and ReLU activation; +\item Average pooling layer, with pooling size of 2$\times$2; +\item Layer to convert the 2D feature maps to vectors (Flatten layer); +\item Dense layer with 8 neurons and tanh activation; +\item Dense output layer with softmax activation; +\end{itemize} +\item Train the model on the training set from point 1 for 500 epochs: +\begin{itemize} +\item Use the RMSprop optimization algorithm, with a learning rate of 0.003 and a batch size of 128; +\item Use categorical cross-entropy as a loss function; +\item Implement early stopping, monitoring the validation accuracy of the model with a patience of 10 epochs and use 20\% of the training data as validation set; +\item When early stopping kicks in, and the training procedure stops, restore the best model found during training. +\end{itemize} +\item Draw a plot with epochs on the $x$-axis and with two graphs: the train accuracy and the validation accuracy (remember to add a legend to distinguish the two graphs!). +\item Assess the performances of the network on the test set loaded in point 1, and provide an estimate of the classification accuracy that you expect on new and unseen images. +\item \textbf{Bonus} (Optional) Tune the learning rate and the number of neurons in the last dense hidden layer with a \textbf{grid search} to improve the performances (if feasible). +\begin{itemize} +\item Consider the following options for the two hyper-parameters (4 models in total): +\begin{itemize} +\item learning rate: [0.01, 0.0001] +\item number of neurons: [16, 64] +\end{itemize} +\item Keep all the other hyper-parameters as in point 3. +\item Perform a grid search on the chosen ranges based on hold-out cross-validation in the training set and identify the most promising hyper-parameter setup. +\item Compare the accuracy on the test set achieved by the most promising configuration with that of the model obtained in point 4. Are the accuracy levels statistically different? +\end{itemize} +\end{enumerate} + +\subsection{Comment} + +The network model was built and trained according to the given specification. + +The performance on the given test set is of $0.3649$ loss and $86.4\%$ accuracy. In order to assess performance on new and unseen images +a statistical confidence interval is necessary. Since the accuracy is by construction a binomial measure (since an image can either be correctly +classified or not, and we repeat this Bernoulli process for each test set datapoint), we perform a binomial distribution confidence interval computation +for 95\% confidence. The code use to do this is found in the notebook \texttt{src/Assignment 2.ipynb} under the section \textit{Statistical tests on CIFAR classifier}. +We conclude stating that with 95\% confidence the accuracy for new and unseen images will fall between $\approx 85.12\%$ and $\approx 87.59\%$. + +The training and validation accuracy curves for the network is shown below: + +\begin{figure}[H] +\centering + \resizebox{\textwidth}{!}{% + \includegraphics{./t1_plot.png}} +\caption{Training and validation accuracy curves during fitting for the CIFAR10 classifier} +\end{figure} + +%---------------------------------------------------------------------------------------- +% Task 2 +%---------------------------------------------------------------------------------------- +\newpage +\section{Transfer learning} + +In this task, we will fine-tune the last layer of a pretrained model in order to build a classifier for the \emph{rock, paper, scissors dataset} that we acquired for the lab. The objective is to make use of the experience collected on a task to bootstrap the performances on a different task. We are going to use the \texttt{VGG16} network, pretrained on Imagenet to compete in the ILSVRC-2014 competition.\\ + +\texttt{VGG16} is very expensive to train from scratch, but luckily the VGG team publicly released the trained weights of the network, so that people could use it for transfer learning. As we discussed during classes, this can be achieved by \textbf{removing the last fully connected layers} form the pretrained model and by using the output of the convolutional layers (with freezed weights) as input to a \textbf{new fully connected network}. This last part of the model is then trained from scratch on the task of interest. + +\begin{enumerate} +\item Use \texttt{keras} to download a pretrained version of the \texttt{vgg16} network. You can start from the snippet of code you find on the \href{https://github.com/marshka/ml-20-21/tree/main/assignment\_2}{repository} of the assignment. +\item Download and preprocess the rock, paper, scissor dataset that we collected for the lab. You find the functions to download and build the dataset in \texttt{src/utils.py}. Vgg16 provides a function to prepropress the input\\ +\texttt{applications.vgg16.preprocess\_input}\\ +You may decide to use it. +Use $224 \times 224$ as image dimension. +\item Add a hidden layer (use any number of units and the activation function that you want), then add an output layer suitable for the hand gesture classification problem. +\item Train with and without \textbf{data augmentation} and report the learning curves (train and validation accuracy) for both cases. +\begin{itemize} +\item Turn on the GPU environment on Colab, otherwise training will be slow. +\item Train for 50 epochs or until convergence. +\item Comment if using data augmentation led to an improvement or not. +\end{itemize} +\end{enumerate} + +\subsection{Comment} + +The built network in its dense part is composed by a 128-neuron ReLU-activated hidden layer and a 3-neuron softmax output layer. +The input to the network is at first resized to 224x224 size and then normalized according to VGG16 normalization factors +(refer to the function \texttt{process\_vgg16} in the \texttt{src/Assignment 2.ipynb} notebook for details on the normalization process). +Classification labels were first converted from string labels to numeric ones, (i.e. \texttt{'scissors'} = 0, +\texttt{'paper'} = 1, \texttt{'rock'} = 2), and then the numeric encoding was in turn converted to a one-hot encoding using the +\texttt{keras.utils.to\_categorical} function. + +Both the data-augmented and non-augmented network were trained using the ADAM optimizer with $0.001$ learning rate for 50 epochs with +an early stopping procedure with 10 epochs patience. + +Both models were saved and both can be run at the same time on the given test set by executing \texttt{deliverable/run\_task2.py}. + +The training and validation accuracy curves for both the data-augmented and the not augmented networks are shown below: + +\begin{figure}[H] +\centering + \resizebox{\textwidth}{!}{% + \includegraphics{./t2_noaug.png}} +\caption{Training and validation accuracy curves during fitting for the not data augmented VGG16 classifier} +\end{figure} + +\begin{figure}[H] +\centering + \resizebox{\textwidth}{!}{% + \includegraphics{./t2_aug.png}} +\caption{Training and validation accuracy curves during fitting for the data augmented VGG16 classifier} +\end{figure} + +\subsection{T-Test} + +The findings shown below were computed using the script \texttt{src/t\_test.py}. + +To compare the trained model with and without data augmentation, we perform a two-tailed Student T-test between the models. +The test report that the models have different accuracy with $99.999973\%$ confidence, and the model trained with data augmentation +has lower variance. Therefore, we conclude that the model trained with data augmentation is the statistically better model out of the two. + +The student T-test of course is a valid argument only for this specific instance of the application of data augmentation. However, +in the general case we can say that performing data augmentation on the training and validation data is intuitively better in order to +assure the network is able to correctly identify rock, paper or scissors from all angles and zoom levels. + +On the given test set, the model trained with data augmentation has $\approx 90.00\%$ accuracy while the model trained without data augmentation +has $\approx 77.33\%$ accuracy. + +\end{document} diff --git a/as2_Maggioni_Claudio/src/Assignment 2.ipynb b/as2_Maggioni_Claudio/src/Assignment 2.ipynb new file mode 100644 index 0000000..7f75c2b --- /dev/null +++ b/as2_Maggioni_Claudio/src/Assignment 2.ipynb @@ -0,0 +1,1251 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "accelerator": "GPU", + "colab": { + "name": "Assignment 2.ipynb", + "provenance": [], + "collapsed_sections": [] + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "1q9o1iFr2RR1" + }, + "source": [ + "# Assignment 2\n", + "### Claudio Maggioni" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "fVEhcaD2y2TK" + }, + "source": [ + "import os\n", + "import pickle\n", + "import urllib.request as http\n", + "from zipfile import ZipFile\n", + "\n", + "import tensorflow as tf\n", + "import numpy as np\n", + "from PIL import Image\n", + "\n", + "from tensorflow.keras import layers as keras_layers\n", + "from tensorflow.keras import backend as K\n", + "from tensorflow.keras.datasets import cifar10\n", + "from tensorflow.keras.models import save_model, load_model\n", + "\n", + "\n", + "def load_cifar10(num_classes=3):\n", + " \"\"\"\n", + " Downloads CIFAR-10 dataset, which already contains a training and test set,\n", + " and return the first `num_classes` classes.\n", + " Example of usage:\n", + "\n", + " >>> (x_train, y_train), (x_test, y_test) = load_cifar10()\n", + "\n", + " :param num_classes: int, default is 3 as required by the assignment.\n", + " :return: the filtered data.\n", + " \"\"\"\n", + " (x_train_all, y_train_all), (x_test_all, y_test_all) = cifar10.load_data()\n", + "\n", + " fil_train = tf.where(y_train_all[:, 0] < num_classes)[:, 0]\n", + " fil_test = tf.where(y_test_all[:, 0] < num_classes)[:, 0]\n", + "\n", + " y_train = y_train_all[fil_train]\n", + " y_test = y_test_all[fil_test]\n", + "\n", + " x_train = x_train_all[fil_train]\n", + " x_test = x_test_all[fil_test]\n", + "\n", + " return (x_train, y_train), (x_test, y_test)\n", + "\n", + "\n", + "def load_rps(download=False, path='rps', reduction_factor=1):\n", + " \"\"\"\n", + " Downloads the rps dataset and returns the training and test sets.\n", + " Example of usage:\n", + "\n", + " >>> (x_train, y_train), (x_test, y_test) = load_rps()\n", + "\n", + " :param download: bool, default is False but for the first call should be True.\n", + " :param path: str, subdirectory in which the images should be downloaded, default is 'rps'.\n", + " :param reduction_factor: int, factor of reduction of the dataset (len = old_len // reduction_factor).\n", + " :return: the images and labels split into training and validation sets.\n", + " \"\"\"\n", + " url = 'https://drive.switch.ch/index.php/s/xjXhuYDUzoZvL02/download'\n", + " classes = ('rock', 'paper', 'scissors')\n", + " rps_dir = os.path.abspath(path)\n", + " filename = os.path.join(rps_dir, 'data.zip')\n", + " if not os.path.exists(rps_dir) and not download:\n", + " raise ValueError(\"Dataset not in the path. You should call this function with `download=True` the first time.\")\n", + " if download:\n", + " os.makedirs(rps_dir, exist_ok=True)\n", + " print(f\"Downloading rps images in {rps_dir} (may take a couple of minutes)\")\n", + " path, msg = http.urlretrieve(url, filename)\n", + " with ZipFile(path, 'r') as zip_ref:\n", + " zip_ref.extractall(rps_dir)\n", + " os.remove(filename)\n", + " train_dir, test_dir = os.path.join(rps_dir, 'train'), os.path.join(rps_dir, 'test')\n", + " print(\"Loading training set...\")\n", + " x_train, y_train = load_images_with_label(train_dir, classes)\n", + " x_train, y_train = x_train[::reduction_factor], y_train[::reduction_factor]\n", + " print(\"Loaded %d images for training\" % len(y_train))\n", + " print(\"Loading test set...\")\n", + " x_test, y_test = load_images_with_label(test_dir, classes)\n", + " x_test, y_test = x_test[::reduction_factor], y_test[::reduction_factor]\n", + " print(\"Loaded %d images for testing\" % len(y_test))\n", + " return (x_train, y_train), (x_test, y_test)\n", + "\n", + "\n", + "def make_dataset(imgs, labels, label_map, img_size, rgb=True, keepdim=True, shuffle=True):\n", + " x = []\n", + " y = []\n", + " n_classes = len(list(label_map.keys()))\n", + " for im, l in zip(imgs, labels):\n", + " # preprocess img\n", + " x_i = im.resize(img_size)\n", + " if not rgb:\n", + " x_i = x_i.convert('L')\n", + " x_i = np.asarray(x_i)\n", + " if not keepdim:\n", + " x_i = x_i.reshape(-1)\n", + " \n", + " # encode label\n", + " y_i = np.zeros(n_classes)\n", + " y_i[label_map[l]] = 1.\n", + " \n", + " x.append(x_i)\n", + " y.append(y_i)\n", + " x, y = np.array(x).astype('float32'), np.array(y)\n", + " if shuffle:\n", + " idxs = np.arange(len(y))\n", + " np.random.shuffle(idxs)\n", + " x, y = x[idxs], y[idxs]\n", + " return x, y\n", + "\n", + "\n", + "def load_images(path):\n", + " img_files = os.listdir(path)\n", + " imgs, labels = [], []\n", + " for i in img_files:\n", + " if i.endswith('.jpg'):\n", + " # load the image (here you might want to resize the img to save memory)\n", + " imgs.append(Image.open(os.path.join(path, i)).copy())\n", + " return imgs\n", + "\n", + "\n", + "def load_images_with_label(path, classes):\n", + " imgs, labels = [], []\n", + " for c in classes:\n", + " # iterate over all the files in the folder\n", + " c_imgs = load_images(os.path.join(path, c))\n", + " imgs.extend(c_imgs)\n", + " labels.extend([c] * len(c_imgs))\n", + " return imgs, labels\n", + "\n", + "\n", + "def save_keras_model(model, filename):\n", + " \"\"\"\n", + " Saves a Keras model to disk.\n", + " Example of usage:\n", + "\n", + " >>> model = Sequential()\n", + " >>> model.add(Dense(...))\n", + " >>> model.compile(...)\n", + " >>> model.fit(...)\n", + " >>> save_keras_model(model, 'my_model.h5')\n", + "\n", + " :param model: the model to save;\n", + " :param filename: string, path to the file in which to store the model.\n", + " :return: the model.\n", + " \"\"\"\n", + " save_model(model, filename)\n", + "\n", + "\n", + "def load_keras_model(filename):\n", + " \"\"\"\n", + " Loads a compiled Keras model saved with models.save_model.\n", + "\n", + " :param filename: string, path to the file storing the model.\n", + " :return: the model.\n", + " \"\"\"\n", + " model = load_model(filename)\n", + " return model\n", + "\n", + "\n", + "def save_vgg16(model, filename='nn_task2.pkl', additional_args=()):\n", + " \"\"\"\n", + " Optimize task2 model by only saving the layers after vgg16. This function\n", + " assumes that you only added Flatten and Dense layers. If it is not the case,\n", + " you should include into `additional_args` other layers' attributes you\n", + " need.\n", + "\n", + " :param filename: string, path to the file in which to store the model.\n", + " :param additional_args: tuple or list, additional layers' attributes to be \n", + " saved. Default are ['units', 'activation', 'use_bias']\n", + " :return: the path of the saved model.\n", + " \"\"\"\n", + " filename = filename if filename.endswith('.pkl') else (filename + '.pkl')\n", + " args = ['units', 'activation', 'use_bias', *additional_args]\n", + " layers = []\n", + " for l in model.layers[1:]:\n", + " layer = dict()\n", + " layer['class'] = l.__class__.__name__\n", + " if l.weights:\n", + " layer['weights'] = l.get_weights()\n", + " layer['kwargs'] = {k: v for k, v in vars(l).items() if k in args}\n", + " layers.append(layer)\n", + "\n", + " with open(filename, 'wb') as fp:\n", + " pickle.dump(layers, fp)\n", + " \n", + " return os.path.abspath(filename)\n", + "\n", + "\n", + "def load_vgg16(filename='nn_task2.pkl', img_h=224, img_w=224):\n", + " \"\"\"\n", + " Loads the model saved with save_vgg16.\n", + "\n", + " :param filename: string, path to the file storing the model.\n", + " :param img_h: int, the height of the input image.\n", + " :param img_w: int, the width of the input image.\n", + " :return: the model.\n", + " \"\"\"\n", + " K.clear_session()\n", + "\n", + " vgg16 = applications.VGG16(weights='imagenet', \n", + " include_top=False, \n", + " input_shape=(img_h, img_w, 3))\n", + " model = Sequential()\n", + " model.add(vgg16)\n", + "\n", + " with open(filename, 'rb') as fp:\n", + " layers = pickle.load(fp)\n", + " for l in layers:\n", + " cls = getattr(keras_layers, l['class'])\n", + " if 'weights' in l:\n", + " layer = cls(**l['kwargs'])\n", + " model.add(layer)\n", + " model.layers[-1].set_weights(l['weights'])\n", + " else:\n", + " model.add(cls())\n", + " \n", + " model.trainable = False\n", + " return model" + ], + "execution_count": 2, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "rQnQIX74Hoy8" + }, + "source": [ + "# Exercise 1" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "FxvuMnmmzAfa", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "f144d7fc-10be-4e98-98c7-26a3b3c55052" + }, + "source": [ + "# Load the training and test CIFAR10 data\n", + "(x_train, y_train), (x_test, y_test) = load_cifar10()" + ], + "execution_count": 3, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Downloading data from https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz\n", + "170500096/170498071 [==============================] - 3s 0us/step\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "7fO_8u2qM8xb" + }, + "source": [ + "# Normalize the train and test data\n", + "x_train_n = x_train / 255\n", + "x_test_n = x_test / 255\n", + "\n", + "# Check if only 3 classes were loaded (no output should be printed)\n", + "for e in y_train:\n", + " if e[0] not in [0,1,2]:\n", + " print(e[0])" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "6s2n8JukO8nT" + }, + "source": [ + "from tensorflow.keras import utils\n", + "\n", + "n_classes = 3\n", + "\n", + "# Convert output data to one-hot encoding\n", + "y_train_n = utils.to_categorical(y_train, n_classes)\n", + "y_test_n = utils.to_categorical(y_test, n_classes)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "T4E5yvxTPnwP", + "outputId": "4bb2f7c4-d87e-4d6f-8f93-876be6cc5992" + }, + "source": [ + "from tensorflow.keras import Sequential\n", + "from tensorflow.keras.layers import Dense\n", + "from tensorflow.keras import optimizers\n", + "from tensorflow.keras.layers import Conv2D, MaxPooling2D, AveragePooling2D, \\\n", + " Flatten, Dropout\n", + "from tensorflow.keras.callbacks import EarlyStopping, CSVLogger \n", + "\n", + "# Build the CIFAR10 model architecture\n", + "model = Sequential()\n", + "model.add(Conv2D(8, (5, 5), activation='relu', input_shape=(32, 32, 3)))\n", + "model.add(MaxPooling2D(pool_size=(2, 2)))\n", + "model.add(Conv2D(16, (3, 3), strides=(2,2), activation='relu'))\n", + "model.add(AveragePooling2D(pool_size=(2, 2)))\n", + "model.add(Flatten())\n", + "model.add(Dense(8, activation='tanh'))\n", + "model.add(Dense(n_classes, activation='softmax'))\n", + "\n", + "# Compile the model and print model architecture\n", + "model.compile(optimizer=optimizers.RMSprop(learning_rate=0.003), \n", + " loss='categorical_crossentropy', \n", + " metrics=['accuracy'])\n", + "model.summary()\n", + "\n", + "# Implement early stopping monitoring validation accuracy\n", + "callback = EarlyStopping(monitor='val_accuracy', \n", + " patience=10,\n", + " restore_best_weights=True)\n", + "\n", + "# Log training data in the indicated CSV file\n", + "log_task1 = CSVLogger('my_civar10.csv')\n", + "\n", + "# Train the model\n", + "batch_size = 128\n", + "epochs = 500\n", + "model.fit(x_train_n, \n", + " y_train_n, \n", + " batch_size=batch_size, \n", + " epochs=epochs, \n", + " validation_split=0.2,\n", + " callbacks=[callback, log_task1])" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Model: \"sequential_7\"\n", + "_________________________________________________________________\n", + "Layer (type) Output Shape Param # \n", + "=================================================================\n", + "conv2d (Conv2D) (None, 28, 28, 8) 608 \n", + "_________________________________________________________________\n", + "max_pooling2d (MaxPooling2D) (None, 14, 14, 8) 0 \n", + "_________________________________________________________________\n", + "conv2d_1 (Conv2D) (None, 6, 6, 16) 1168 \n", + "_________________________________________________________________\n", + "average_pooling2d (AveragePo (None, 3, 3, 16) 0 \n", + "_________________________________________________________________\n", + "flatten_7 (Flatten) (None, 144) 0 \n", + "_________________________________________________________________\n", + "dense_13 (Dense) (None, 8) 1160 \n", + "_________________________________________________________________\n", + "dense_14 (Dense) (None, 3) 27 \n", + "=================================================================\n", + "Total params: 2,963\n", + "Trainable params: 2,963\n", + "Non-trainable params: 0\n", + "_________________________________________________________________\n", + "Epoch 1/500\n", + "94/94 [==============================] - 1s 6ms/step - loss: 0.9172 - accuracy: 0.5718 - val_loss: 0.9488 - val_accuracy: 0.5113\n", + "Epoch 2/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.7498 - accuracy: 0.6758 - val_loss: 0.6664 - val_accuracy: 0.7343\n", + "Epoch 3/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.6778 - accuracy: 0.7107 - val_loss: 0.6071 - val_accuracy: 0.7557\n", + "Epoch 4/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.6342 - accuracy: 0.7352 - val_loss: 0.6572 - val_accuracy: 0.7210\n", + "Epoch 5/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.5902 - accuracy: 0.7538 - val_loss: 0.5681 - val_accuracy: 0.7710\n", + "Epoch 6/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.5556 - accuracy: 0.7712 - val_loss: 0.5319 - val_accuracy: 0.7933\n", + "Epoch 7/500\n", + "94/94 [==============================] - 0s 4ms/step - loss: 0.5265 - accuracy: 0.7832 - val_loss: 0.4979 - val_accuracy: 0.8007\n", + "Epoch 8/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.5014 - accuracy: 0.7976 - val_loss: 0.4851 - val_accuracy: 0.8007\n", + "Epoch 9/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.4874 - accuracy: 0.8020 - val_loss: 0.4577 - val_accuracy: 0.8227\n", + "Epoch 10/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.4745 - accuracy: 0.8067 - val_loss: 0.4667 - val_accuracy: 0.8150\n", + "Epoch 11/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.4576 - accuracy: 0.8162 - val_loss: 0.4599 - val_accuracy: 0.8180\n", + "Epoch 12/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.4456 - accuracy: 0.8223 - val_loss: 0.4813 - val_accuracy: 0.8133\n", + "Epoch 13/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.4402 - accuracy: 0.8247 - val_loss: 0.4650 - val_accuracy: 0.8140\n", + "Epoch 14/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.4313 - accuracy: 0.8288 - val_loss: 0.4428 - val_accuracy: 0.8280\n", + "Epoch 15/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.4172 - accuracy: 0.8344 - val_loss: 0.4678 - val_accuracy: 0.8157\n", + "Epoch 16/500\n", + "94/94 [==============================] - 0s 4ms/step - loss: 0.4134 - accuracy: 0.8351 - val_loss: 0.4249 - val_accuracy: 0.8353\n", + "Epoch 17/500\n", + "94/94 [==============================] - 1s 5ms/step - loss: 0.4058 - accuracy: 0.8365 - val_loss: 0.4124 - val_accuracy: 0.8430\n", + "Epoch 18/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3955 - accuracy: 0.8430 - val_loss: 0.4277 - val_accuracy: 0.8313\n", + "Epoch 19/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3878 - accuracy: 0.8466 - val_loss: 0.4089 - val_accuracy: 0.8367\n", + "Epoch 20/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3865 - accuracy: 0.8499 - val_loss: 0.5154 - val_accuracy: 0.7947\n", + "Epoch 21/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3827 - accuracy: 0.8513 - val_loss: 0.4198 - val_accuracy: 0.8393\n", + "Epoch 22/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3752 - accuracy: 0.8518 - val_loss: 0.4005 - val_accuracy: 0.8447\n", + "Epoch 23/500\n", + "94/94 [==============================] - 0s 4ms/step - loss: 0.3663 - accuracy: 0.8551 - val_loss: 0.4908 - val_accuracy: 0.8120\n", + "Epoch 24/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3641 - accuracy: 0.8571 - val_loss: 0.4103 - val_accuracy: 0.8430\n", + "Epoch 25/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3591 - accuracy: 0.8580 - val_loss: 0.3885 - val_accuracy: 0.8547\n", + "Epoch 26/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3537 - accuracy: 0.8607 - val_loss: 0.4419 - val_accuracy: 0.8363\n", + "Epoch 27/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3477 - accuracy: 0.8650 - val_loss: 0.3892 - val_accuracy: 0.8490\n", + "Epoch 28/500\n", + "94/94 [==============================] - 0s 4ms/step - loss: 0.3448 - accuracy: 0.8679 - val_loss: 0.4389 - val_accuracy: 0.8340\n", + "Epoch 29/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3396 - accuracy: 0.8660 - val_loss: 0.3977 - val_accuracy: 0.8500\n", + "Epoch 30/500\n", + "94/94 [==============================] - 0s 4ms/step - loss: 0.3386 - accuracy: 0.8673 - val_loss: 0.4488 - val_accuracy: 0.8283\n", + "Epoch 31/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3359 - accuracy: 0.8698 - val_loss: 0.3940 - val_accuracy: 0.8473\n", + "Epoch 32/500\n", + "94/94 [==============================] - 0s 4ms/step - loss: 0.3290 - accuracy: 0.8699 - val_loss: 0.4283 - val_accuracy: 0.8343\n", + "Epoch 33/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3222 - accuracy: 0.8747 - val_loss: 0.3796 - val_accuracy: 0.8540\n", + "Epoch 34/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3185 - accuracy: 0.8778 - val_loss: 0.3872 - val_accuracy: 0.8553\n", + "Epoch 35/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3212 - accuracy: 0.8730 - val_loss: 0.4123 - val_accuracy: 0.8397\n", + "Epoch 36/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3160 - accuracy: 0.8738 - val_loss: 0.3843 - val_accuracy: 0.8533\n", + "Epoch 37/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3122 - accuracy: 0.8777 - val_loss: 0.3735 - val_accuracy: 0.8587\n", + "Epoch 38/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3127 - accuracy: 0.8755 - val_loss: 0.3968 - val_accuracy: 0.8450\n", + "Epoch 39/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3069 - accuracy: 0.8798 - val_loss: 0.4014 - val_accuracy: 0.8417\n", + "Epoch 40/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3056 - accuracy: 0.8823 - val_loss: 0.4605 - val_accuracy: 0.8237\n", + "Epoch 41/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3014 - accuracy: 0.8811 - val_loss: 0.3749 - val_accuracy: 0.8650\n", + "Epoch 42/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.3015 - accuracy: 0.8819 - val_loss: 0.3943 - val_accuracy: 0.8593\n", + "Epoch 43/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.2996 - accuracy: 0.8835 - val_loss: 0.4209 - val_accuracy: 0.8373\n", + "Epoch 44/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.2928 - accuracy: 0.8851 - val_loss: 0.3775 - val_accuracy: 0.8687\n", + "Epoch 45/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.2901 - accuracy: 0.8882 - val_loss: 0.4303 - val_accuracy: 0.8313\n", + "Epoch 46/500\n", + "94/94 [==============================] - 0s 4ms/step - loss: 0.2915 - accuracy: 0.8869 - val_loss: 0.4693 - val_accuracy: 0.8233\n", + "Epoch 47/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.2878 - accuracy: 0.8877 - val_loss: 0.3719 - val_accuracy: 0.8610\n", + "Epoch 48/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.2852 - accuracy: 0.8861 - val_loss: 0.3751 - val_accuracy: 0.8647\n", + "Epoch 49/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.2818 - accuracy: 0.8891 - val_loss: 0.4302 - val_accuracy: 0.8427\n", + "Epoch 50/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.2842 - accuracy: 0.8893 - val_loss: 0.4167 - val_accuracy: 0.8477\n", + "Epoch 51/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.2788 - accuracy: 0.8915 - val_loss: 0.4626 - val_accuracy: 0.8300\n", + "Epoch 52/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.2767 - accuracy: 0.8950 - val_loss: 0.4610 - val_accuracy: 0.8333\n", + "Epoch 53/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.2742 - accuracy: 0.8938 - val_loss: 0.3817 - val_accuracy: 0.8633\n", + "Epoch 54/500\n", + "94/94 [==============================] - 0s 5ms/step - loss: 0.2761 - accuracy: 0.8933 - val_loss: 0.4188 - val_accuracy: 0.8477\n" + ], + "name": "stdout" + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 60 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "PLQie0MoB5xo" + }, + "source": [ + "### Plot validation loss and accuracy curves" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "tfeAmqWMbvF9", + "outputId": "961c7b14-dcaa-44ed-8cc2-acf3e8d729fe" + }, + "source": [ + "import pandas as pd\n", + "\n", + "# Load the CSV with saved training data\n", + "df = pd.read_csv('my_civar10.csv')\n", + "print(df[df.epoch == 0])" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "text": [ + " epoch accuracy loss val_accuracy val_loss\n", + "0 0 0.571833 0.917225 0.511333 0.948794\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 225 + }, + "id": "Aedy102KeaaK", + "outputId": "9e1a249b-5687-4d61-ab12-bbde73756524" + }, + "source": [ + "import matplotlib as mpl\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Plot training and validation accuracy w.r.t. epoch for CIFAR10 model\n", + "plt.figure(figsize=(4,3))\n", + "ax = plt.gca()\n", + "lines = []\n", + "FEATURES = ['accuracy', 'val_accuracy']\n", + "for feature in FEATURES:\n", + " lines.append(ax.plot(df[\"epoch\"], df[feature], marker='.')[0])\n", + "plt.xlabel(\"Epoch\")\n", + "plt.ylabel(\"Accuracy [%]\")\n", + "lgd = plt.legend(lines, [\"Training accuracy\", \"Validation accuracy\"], \n", + " loc=\"best\", bbox_to_anchor=(1,1))\n", + "plt.show()" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [], + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "L7iWpZ9x6u_q" + }, + "source": [ + "### Statistical tests on CIFAR classifier" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "HbRzQTmzDSLs", + "outputId": "76091cbe-bb3c-419d-97da-063751ff36ed" + }, + "source": [ + "# Compute loss and accuracy on the test set\n", + "print(np.shape(y_test_n))\n", + "test_loss, test_accuracy = model.evaluate(x_test_n, y_test_n)\n", + "print(\"Test accuracy is: %g\" % test_accuracy)" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "text": [ + "(3000, 3)\n", + "94/94 [==============================] - 0s 2ms/step - loss: 0.3649 - accuracy: 0.8640\n", + "Test accuracy is: 0.864\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "0pNBVGIh5NKd", + "outputId": "1fcd7c60-f848-4890-cf6f-56936a352286" + }, + "source": [ + "# Compute confidence interval for accuracy using binomial distribution\n", + "import numpy as np\n", + "import scipy.stats as st\n", + "from statsmodels.stats.proportion import proportion_confint \n", + "\n", + "test_accuracy = 0.864\n", + "n = len(y_test)\n", + "\n", + "proportion_confint(test_accuracy * n, n, method='binom_test', alpha=0.05)" + ], + "execution_count": 16, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(0.8512018385349547, 0.8758694331900033)" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 16 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Slp1nUTRB1HK" + }, + "source": [ + "### Save the model" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "oYpYfGgcei6L", + "outputId": "dc052149-3a37-41ea-c92f-fd2f90838794" + }, + "source": [ + "# Save the model\n", + "save_keras_model(model, filename='/content/nn_task1.h5')" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "text": [ + "None\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "xB3vSuEEHh6U" + }, + "source": [ + "# Exercise 2" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "TwujZ9o3G_2o", + "outputId": "6bee27a6-d79b-452f-cf06-0821c840af97" + }, + "source": [ + "# Load RPS data\n", + "(x_train, y_train), (x_test, y_test) = load_rps(download=True)" + ], + "execution_count": 6, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Downloading rps images in /content/rps (may take a couple of minutes)\n", + "Loading training set...\n", + "Loaded 1500 images for training\n", + "Loading test set...\n", + "Loaded 300 images for testing\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "oeChSIb1H_Io" + }, + "source": [ + "import torch\n", + "import tensorflow as tf\n", + "from tensorflow.keras import applications\n", + "from keras.preprocessing.image import img_to_array, array_to_img\n", + "\n", + "# Resize the input images and normalize them according to VGG16 normalization \n", + "# factors\n", + "def process_vgg16(x):\n", + " x_n = [e.resize((224,224)) for e in x]\n", + " for i in range(len(x)):\n", + " bgr = img_to_array(x_n[i])[..., ::-1] \n", + " mean = [103.939, 116.779, 123.68] \n", + " bgr -= mean\n", + " x_n[i] = bgr\n", + " return x_n\n", + "\n", + "# Process train and test set\n", + "x_train_n = tf.convert_to_tensor(process_vgg16(x_train))\n", + "x_test_n = tf.convert_to_tensor(process_vgg16(x_test))" + ], + "execution_count": 7, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "k23n4z-1Jb-0", + "outputId": "3c83d47f-8fbd-4bb1-f3fb-a3d21ec49718" + }, + "source": [ + "from tensorflow.keras import utils\n", + "\n", + "LABELS = set(y_train)\n", + "MAP = {'scissors': 0, 'paper': 1, 'rock': 2}\n", + "print(MAP)\n", + "\n", + "# Convert string labels to numerical ones according to MAP\n", + "mapfunc = np.vectorize(lambda x: MAP[x])\n", + "\n", + "# Convert numerical labels to one-hot encoding\n", + "y_train_n = utils.to_categorical(mapfunc(y_train), len(LABELS))\n", + "y_test_n = utils.to_categorical(mapfunc(y_test), len(LABELS))" + ], + "execution_count": 8, + "outputs": [ + { + "output_type": "stream", + "text": [ + "{'scissors': 0, 'paper': 1, 'rock': 2}\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "VrSi1MRWWCYu" + }, + "source": [ + "# Download VGG16 convolution weights and architecture\n", + "\n", + "from tensorflow.keras import Sequential, optimizers, applications\n", + "from tensorflow.keras.layers import Dense, Flatten, Dropout\n", + "from tensorflow.keras.layers import Conv2D, MaxPooling2D, AveragePooling2D\n", + "from tensorflow.keras.callbacks import EarlyStopping, CSVLogger \n", + "\n", + "# Build the VGG16 network and download pre-trained weights and remove the last\n", + "# dense layers.\n", + "vgg16 = applications.VGG16(weights='imagenet', \n", + " include_top=False, \n", + " input_shape=(224, 224, 3))\n", + "\n", + "# Freezes the network weights\n", + "vgg16.trainable = False" + ], + "execution_count": 9, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "3pn4tvKqMixE" + }, + "source": [ + "# Build VGG16-based classifier\n", + "net = Sequential()\n", + "net.add(vgg16)\n", + "net.add(Flatten())\n", + "net.add(Dense(128, activation='relu'))\n", + "net.add(Dropout(0.25))\n", + "net.add(Dense(3, activation='softmax'))\n", + "\n", + "# Compile and print network architecture\n", + "net.compile(optimizer=optimizers.Adam(learning_rate=0.001),\n", + " loss='categorical_crossentropy', \n", + " metrics=['acc'])\n", + "net.summary()\n", + "\n", + "# Implement early stopping monitoring validation loss\n", + "es = EarlyStopping(monitor='val_loss', patience=10, restore_best_weights=True)\n", + "\n", + "# Save training loss and accuracy over epochs in indicated CSV\n", + "log_task2_noaug = CSVLogger('my_vgg16_noaug.csv')\n", + "\n", + "# Fit the model with not data augmented training and validation data\n", + "history = net.fit(x_train_n, \n", + " y_train_n, \n", + " batch_size=8, \n", + " epochs=50, \n", + " validation_split=0.2,\n", + " verbose=1,\n", + " callbacks=[es, log_task2_noaug])" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "X1ZFbL2WxXnO", + "outputId": "a13ab168-ba74-4d3e-da4b-386a1860b0d8" + }, + "source": [ + "# Evaluate non-data-augmented model on test set\n", + "scores = net.evaluate(x_test_n, y_test_n)\n", + "print('Test loss: {} - Accuracy: {}'.format(*scores))\n", + "\n", + "# Save the model\n", + "save_keras_model(net, '/content/ynn_task2_noaug.h5')" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "text": [ + "10/10 [==============================] - 1s 118ms/step - loss: 0.5268 - acc: 0.7733\n", + "Test loss: 0.5268241763114929 - Accuracy: 0.7733333110809326\n", + "None\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Dorbvx8dVyEM" + }, + "source": [ + "from tensorflow.keras.preprocessing.image import ImageDataGenerator\n", + "\n", + "train_gen = ImageDataGenerator(width_shift_range=0.15, # horizontal translation\n", + " height_shift_range=0.15, # vertical translation\n", + " channel_shift_range=0.3, # random channel shifts\n", + " rotation_range=360, # rotation\n", + " zoom_range=0.3, # zoom in/out randomly\n", + " shear_range=15, # deformation\n", + " )\n", + "val_gen = ImageDataGenerator()\n", + "\n", + "# Generate data-augmented training and validation set\n", + "train_loader = train_gen.flow(x_train_n, y_train_n, batch_size=40)\n", + "validation_loader = train_gen.flow(x_train_n, y_train_n, batch_size=10)" + ], + "execution_count": 10, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "_jjHHzoEWTqM", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "13654303-f79e-4e71-83c2-714a9a8ea48f" + }, + "source": [ + "# Build VGG16-based classifier\n", + "net2 = Sequential()\n", + "net2.add(vgg16)\n", + "net2.add(Flatten())\n", + "net2.add(Dense(128, activation='relu'))\n", + "net2.add(Dropout(0.25))\n", + "net2.add(Dense(3, activation='softmax'))\n", + "\n", + "# Implement early stopping monitoring validation loss\n", + "es2 = EarlyStopping(monitor='val_loss', patience=10, restore_best_weights=True)\n", + "\n", + "# Compile and print network architecture\n", + "net2.compile(optimizer=optimizers.Adam(learning_rate=0.001),\n", + " loss='categorical_crossentropy', \n", + " metrics=['acc'])\n", + "net2.summary()\n", + "\n", + "# Save training loss and accuracy over epochs in indicated CSV\n", + "log_aug = CSVLogger('my_vgg16_aug.csv')\n", + "\n", + "# Fit the model with data augmented training and validation data\n", + "history = net2.fit(train_loader, \n", + " batch_size=16, \n", + " epochs=50, \n", + " validation_data=validation_loader,\n", + " verbose=1,\n", + " callbacks=[es2, log_aug])" + ], + "execution_count": 12, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Model: \"sequential_1\"\n", + "_________________________________________________________________\n", + "Layer (type) Output Shape Param # \n", + "=================================================================\n", + "vgg16 (Functional) (None, 7, 7, 512) 14714688 \n", + "_________________________________________________________________\n", + "flatten_1 (Flatten) (None, 25088) 0 \n", + "_________________________________________________________________\n", + "dense_2 (Dense) (None, 128) 3211392 \n", + "_________________________________________________________________\n", + "dropout_1 (Dropout) (None, 128) 0 \n", + "_________________________________________________________________\n", + "dense_3 (Dense) (None, 3) 387 \n", + "=================================================================\n", + "Total params: 17,926,467\n", + "Trainable params: 3,211,779\n", + "Non-trainable params: 14,714,688\n", + "_________________________________________________________________\n", + "Epoch 1/50\n", + "38/38 [==============================] - 48s 1s/step - loss: 5.9368 - acc: 0.4780 - val_loss: 0.9557 - val_acc: 0.4833\n", + "Epoch 2/50\n", + "38/38 [==============================] - 32s 842ms/step - loss: 0.9711 - acc: 0.5707 - val_loss: 0.9521 - val_acc: 0.5767\n", + "Epoch 3/50\n", + "38/38 [==============================] - 32s 842ms/step - loss: 0.9213 - acc: 0.6033 - val_loss: 0.7592 - val_acc: 0.6940\n", + "Epoch 4/50\n", + "38/38 [==============================] - 32s 839ms/step - loss: 0.8037 - acc: 0.6560 - val_loss: 0.6932 - val_acc: 0.7393\n", + "Epoch 5/50\n", + "38/38 [==============================] - 32s 845ms/step - loss: 0.8075 - acc: 0.6547 - val_loss: 0.6627 - val_acc: 0.7313\n", + "Epoch 6/50\n", + "38/38 [==============================] - 33s 868ms/step - loss: 0.7375 - acc: 0.6980 - val_loss: 0.6030 - val_acc: 0.7540\n", + "Epoch 7/50\n", + "38/38 [==============================] - 33s 874ms/step - loss: 0.7086 - acc: 0.7080 - val_loss: 0.5946 - val_acc: 0.7680\n", + "Epoch 8/50\n", + "38/38 [==============================] - 32s 847ms/step - loss: 0.6479 - acc: 0.7100 - val_loss: 0.5195 - val_acc: 0.8107\n", + "Epoch 9/50\n", + "38/38 [==============================] - 32s 844ms/step - loss: 0.6702 - acc: 0.7167 - val_loss: 0.5435 - val_acc: 0.7847\n", + "Epoch 10/50\n", + "38/38 [==============================] - 32s 849ms/step - loss: 0.6077 - acc: 0.7500 - val_loss: 0.4991 - val_acc: 0.8180\n", + "Epoch 11/50\n", + "38/38 [==============================] - 32s 843ms/step - loss: 0.6208 - acc: 0.7333 - val_loss: 0.4954 - val_acc: 0.8060\n", + "Epoch 12/50\n", + "38/38 [==============================] - 32s 851ms/step - loss: 0.6244 - acc: 0.7313 - val_loss: 0.5026 - val_acc: 0.8060\n", + "Epoch 13/50\n", + "38/38 [==============================] - 32s 848ms/step - loss: 0.5998 - acc: 0.7640 - val_loss: 0.4789 - val_acc: 0.8127\n", + "Epoch 14/50\n", + "38/38 [==============================] - 32s 839ms/step - loss: 0.5802 - acc: 0.7507 - val_loss: 0.4533 - val_acc: 0.8273\n", + "Epoch 15/50\n", + "38/38 [==============================] - 32s 846ms/step - loss: 0.5767 - acc: 0.7533 - val_loss: 0.4746 - val_acc: 0.8233\n", + "Epoch 16/50\n", + "38/38 [==============================] - 32s 839ms/step - loss: 0.5643 - acc: 0.7600 - val_loss: 0.4329 - val_acc: 0.8253\n", + "Epoch 17/50\n", + "38/38 [==============================] - 32s 852ms/step - loss: 0.5584 - acc: 0.7673 - val_loss: 0.4671 - val_acc: 0.8067\n", + "Epoch 18/50\n", + "38/38 [==============================] - 32s 850ms/step - loss: 0.5940 - acc: 0.7587 - val_loss: 0.4413 - val_acc: 0.8300\n", + "Epoch 19/50\n", + "38/38 [==============================] - 32s 844ms/step - loss: 0.5850 - acc: 0.7573 - val_loss: 0.4237 - val_acc: 0.8373\n", + "Epoch 20/50\n", + "38/38 [==============================] - 32s 841ms/step - loss: 0.5519 - acc: 0.7820 - val_loss: 0.4195 - val_acc: 0.8373\n", + "Epoch 21/50\n", + "38/38 [==============================] - 32s 845ms/step - loss: 0.5243 - acc: 0.7867 - val_loss: 0.4205 - val_acc: 0.8433\n", + "Epoch 22/50\n", + "38/38 [==============================] - 32s 840ms/step - loss: 0.5330 - acc: 0.7800 - val_loss: 0.4232 - val_acc: 0.8427\n", + "Epoch 23/50\n", + "38/38 [==============================] - 32s 848ms/step - loss: 0.5486 - acc: 0.7927 - val_loss: 0.4149 - val_acc: 0.8393\n", + "Epoch 24/50\n", + "38/38 [==============================] - 32s 843ms/step - loss: 0.5066 - acc: 0.7987 - val_loss: 0.4016 - val_acc: 0.8480\n", + "Epoch 25/50\n", + "38/38 [==============================] - 32s 838ms/step - loss: 0.5062 - acc: 0.8000 - val_loss: 0.4163 - val_acc: 0.8360\n", + "Epoch 26/50\n", + "38/38 [==============================] - 31s 837ms/step - loss: 0.4952 - acc: 0.7940 - val_loss: 0.3879 - val_acc: 0.8533\n", + "Epoch 27/50\n", + "38/38 [==============================] - 31s 835ms/step - loss: 0.5135 - acc: 0.7893 - val_loss: 0.3924 - val_acc: 0.8480\n", + "Epoch 28/50\n", + "38/38 [==============================] - 31s 830ms/step - loss: 0.5359 - acc: 0.7933 - val_loss: 0.3887 - val_acc: 0.8547\n", + "Epoch 29/50\n", + "38/38 [==============================] - 32s 849ms/step - loss: 0.4884 - acc: 0.8040 - val_loss: 0.3913 - val_acc: 0.8540\n", + "Epoch 30/50\n", + "38/38 [==============================] - 32s 839ms/step - loss: 0.4803 - acc: 0.8040 - val_loss: 0.4148 - val_acc: 0.8447\n", + "Epoch 31/50\n", + "38/38 [==============================] - 31s 836ms/step - loss: 0.5072 - acc: 0.8060 - val_loss: 0.3828 - val_acc: 0.8527\n", + "Epoch 32/50\n", + "38/38 [==============================] - 31s 833ms/step - loss: 0.4988 - acc: 0.7980 - val_loss: 0.4236 - val_acc: 0.8580\n", + "Epoch 33/50\n", + "38/38 [==============================] - 32s 844ms/step - loss: 0.4721 - acc: 0.8093 - val_loss: 0.4001 - val_acc: 0.8580\n", + "Epoch 34/50\n", + "38/38 [==============================] - 31s 835ms/step - loss: 0.4841 - acc: 0.8100 - val_loss: 0.3656 - val_acc: 0.8753\n", + "Epoch 35/50\n", + "38/38 [==============================] - 31s 833ms/step - loss: 0.4884 - acc: 0.8067 - val_loss: 0.3772 - val_acc: 0.8547\n", + "Epoch 36/50\n", + "38/38 [==============================] - 31s 834ms/step - loss: 0.5038 - acc: 0.8060 - val_loss: 0.3824 - val_acc: 0.8627\n", + "Epoch 37/50\n", + "38/38 [==============================] - 32s 839ms/step - loss: 0.4988 - acc: 0.8007 - val_loss: 0.3792 - val_acc: 0.8600\n", + "Epoch 38/50\n", + "38/38 [==============================] - 31s 840ms/step - loss: 0.4807 - acc: 0.8133 - val_loss: 0.3693 - val_acc: 0.8727\n", + "Epoch 39/50\n", + "38/38 [==============================] - 31s 836ms/step - loss: 0.4792 - acc: 0.8053 - val_loss: 0.3456 - val_acc: 0.8720\n", + "Epoch 40/50\n", + "38/38 [==============================] - 32s 837ms/step - loss: 0.4598 - acc: 0.8120 - val_loss: 0.4263 - val_acc: 0.8493\n", + "Epoch 41/50\n", + "38/38 [==============================] - 31s 835ms/step - loss: 0.4712 - acc: 0.8120 - val_loss: 0.3842 - val_acc: 0.8687\n", + "Epoch 42/50\n", + "38/38 [==============================] - 31s 834ms/step - loss: 0.4660 - acc: 0.8060 - val_loss: 0.3825 - val_acc: 0.8673\n", + "Epoch 43/50\n", + "38/38 [==============================] - 31s 836ms/step - loss: 0.4617 - acc: 0.8193 - val_loss: 0.3563 - val_acc: 0.8667\n", + "Epoch 44/50\n", + "38/38 [==============================] - 32s 841ms/step - loss: 0.4561 - acc: 0.8227 - val_loss: 0.3650 - val_acc: 0.8647\n", + "Epoch 45/50\n", + "38/38 [==============================] - 31s 835ms/step - loss: 0.4573 - acc: 0.8240 - val_loss: 0.3844 - val_acc: 0.8507\n", + "Epoch 46/50\n", + "38/38 [==============================] - 32s 843ms/step - loss: 0.4898 - acc: 0.8020 - val_loss: 0.3444 - val_acc: 0.8740\n", + "Epoch 47/50\n", + "38/38 [==============================] - 31s 836ms/step - loss: 0.4352 - acc: 0.8273 - val_loss: 0.3574 - val_acc: 0.8640\n", + "Epoch 48/50\n", + "38/38 [==============================] - 32s 837ms/step - loss: 0.4651 - acc: 0.8187 - val_loss: 0.3359 - val_acc: 0.8793\n", + "Epoch 49/50\n", + "38/38 [==============================] - 32s 841ms/step - loss: 0.4681 - acc: 0.8173 - val_loss: 0.3494 - val_acc: 0.8687\n", + "Epoch 50/50\n", + "38/38 [==============================] - 31s 835ms/step - loss: 0.4628 - acc: 0.8113 - val_loss: 0.3382 - val_acc: 0.8760\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "zreO-NFo5xyv", + "outputId": "4c7b1dc3-25c3-489b-fd41-86a736a5d307" + }, + "source": [ + "# Evaluate non-data-augmented model on test set\n", + "scores = net2.evaluate(x_test_n, y_test_n)\n", + "print('Test loss: {} - Accuracy: {}'.format(*scores))\n", + "\n", + "# Save the model\n", + "print(save_keras_model(net2, filename='/content/nn_task2_aug.h5'))" + ], + "execution_count": 13, + "outputs": [ + { + "output_type": "stream", + "text": [ + "10/10 [==============================] - 11s 439ms/step - loss: 0.2486 - acc: 0.9000\n", + "Test loss: 0.2485782653093338 - Accuracy: 0.8999999761581421\n", + "None\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "c6Eq3hkLCBBS" + }, + "source": [ + "### Plot validation loss and accuracy curves (non-data-augmented model)" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 262 + }, + "id": "C5Vp-0DcR1Xt", + "outputId": "cf370216-f79a-45a1-fe3f-9ceac7908676" + }, + "source": [ + "import pandas as pd\n", + "import matplotlib as mpl\n", + "import matplotlib.pyplot as plt\n", + "\n", + "df = pd.read_csv('my_vgg16_noaug.csv')\n", + "print(df[df.epoch == 0])\n", + "plt.figure(figsize=(4,3))\n", + "ax = plt.gca()\n", + "lines = []\n", + "FEATURES = ['acc', 'val_acc']\n", + "for feature in FEATURES:\n", + " lines.append(ax.plot(df[\"epoch\"],df[feature], marker='.')[0])\n", + "plt.xlabel(\"Epoch\")\n", + "plt.ylabel(\"Accuracy [%]\")\n", + "lgd = plt.legend(lines, [\"Training accuracy\", \"Validation accuracy\"], \n", + " loc=\"best\", bbox_to_anchor=(1,1))\n", + "plt.show()" + ], + "execution_count": 4, + "outputs": [ + { + "output_type": "stream", + "text": [ + " epoch acc loss val_acc val_loss\n", + "0 0 0.565 0.955588 0.0 1.627829\n" + ], + "name": "stdout" + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [], + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "rYbGePkkCFUu" + }, + "source": [ + "### Plot validation loss and accuracy curves (data augmented model)" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 262 + }, + "id": "K0vFuwg_R1_0", + "outputId": "fc416672-3507-4a87-a43c-6ee86dcb3238" + }, + "source": [ + "import pandas as pd\n", + "import matplotlib as mpl\n", + "import matplotlib.pyplot as plt\n", + "\n", + "df = pd.read_csv('my_vgg16_aug.csv')\n", + "print(df[df.epoch == 0])\n", + "plt.figure(figsize=(4,3))\n", + "ax = plt.gca()\n", + "lines = []\n", + "FEATURES = ['acc', 'val_acc']\n", + "for feature in FEATURES:\n", + " lines.append(ax.plot(df[\"epoch\"],df[feature], marker='.')[0])\n", + "plt.xlabel(\"Epoch\")\n", + "plt.ylabel(\"Accuracy [%]\")\n", + "lgd = plt.legend(lines, [\"Training accuracy\", \"Validation accuracy\"], \n", + " loc=\"best\", bbox_to_anchor=(1,1))\n", + "plt.show()" + ], + "execution_count": 15, + "outputs": [ + { + "output_type": "stream", + "text": [ + " epoch acc loss val_acc val_loss\n", + "0 0 0.478 5.93678 0.483333 0.955677\n" + ], + "name": "stdout" + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [], + "needs_background": "light" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/as2_Maggioni_Claudio/src/Assignment 2.pdf b/as2_Maggioni_Claudio/src/Assignment 2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..23932da935b0da69c2701c3c2da020b2e508cb6c GIT binary patch literal 124558 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

prr4vHQH48f4W@qn-r3)XLgx$s0y37sf!T# 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 QQ#G2hf`)v#oMq_$0um9Y)Bpeg literal 0 HcmV?d00001