{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Pre-trained models and transfer learning\n", "\n", "Training CNNs can take a lot of time, and a lot of data is required for that task. However, much of the time is spent to learn the best low-level filters that a network is using to extract patterns from images. A natural question arises - can we use a neural network trained on one dataset and adapt it to classifying different images without full training process?\n", "\n", "This approach is called **transfer learning**, because we transfer some knowledge from one neural network model to another. In transfer learning, we typically start with a pre-trained model, which has been trained on some large image dataset, such as **ImageNet**. Those models can already do a good job extracting different features from generic images, and in many cases just building a classifier on top of those extracted features can yield a good result." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import tensorflow as tf\n", "from tensorflow import keras\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import os\n", "from tfcv import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Cats vs. Dogs Dataset\n", "\n", "In this unit, we will solve a real-life problem of classifying images of cats and dogs. For this reason, we will use [Kaggle Cats vs. Dogs Dataset](https://www.kaggle.com/c/dogs-vs-cats), which can also be downloaded [from Microsoft](https://www.microsoft.com/en-us/download/details.aspx?id=54765&WT.mc_id=academic-77998-cacaste).\n", "\n", "Let's download this dataset and extract it into `data` directory (this process may take some time!):" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "tags": [] }, "outputs": [], "source": [ "if not os.path.exists('data/kagglecatsanddogs_5340.zip'):\n", " !wget -P data https://download.microsoft.com/download/3/E/1/3E1C3F21-ECDB-4869-8368-6DEBA77B919F/kagglecatsanddogs_5340.zip" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import zipfile\n", "if not os.path.exists('data/PetImages'):\n", " with zipfile.ZipFile('data/kagglecatsanddogs_5340.zip', 'r') as zip_ref:\n", " zip_ref.extractall('data')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Unfortunately, there are some corrupt image files in the dataset. We need to do quick cleaning to check for corrupted files. In order not to clobber this tutorial, we moved the code to verify dataset into a module." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Corrupt image or wrong format: data/PetImages/Cat/12235.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/2663.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/4929.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/8183.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/11083.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/6435.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/6491.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/7968.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/6768.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/11397.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/8295.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/4874.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/23.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/11864.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/3491.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/11729.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/3197.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/10874.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/6376.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/9361.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/9328.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/910.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/2021.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/666.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/3710.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/9171.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/6906.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/11095.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/660.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/8415.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/3161.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/850.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/7003.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/1267.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/7642.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/8553.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/6900.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/4334.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/10404.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/6980.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/936.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/9619.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/3300.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/7647.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/2742.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/9565.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/1757.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/11874.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/1936.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/5077.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/7845.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/8832.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/11935.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/9208.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/4322.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/7978.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/10820.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/391.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/10073.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/8958.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/8470.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/445.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/4821.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/11565.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/4351.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/4833.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/140.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/3153.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/5370.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/5819.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/3649.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/4293.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/3967.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/1937.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/10125.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/1386.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/4750.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/6029.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/5614.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/2569.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/9778.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/6486.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/11210.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/7502.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/2189.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/1151.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/4629.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/12080.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/10501.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/1914.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/11086.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/4000.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/9100.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/5553.jpg\n", "Corrupt image or wrong format: data/PetImages/Cat/12269.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/5243.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/3288.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/11912.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/3320.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/11166.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/8194.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/2353.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/9026.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/8557.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/7969.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/8693.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/4367.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/1900.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/5730.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/9961.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/8126.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/8521.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/11560.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/11233.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/11675.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/8889.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/9414.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/3588.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/10353.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/10733.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/6238.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/5618.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/7743.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/10747.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/6503.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/11410.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/5955.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/2915.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/3136.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/4086.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/2905.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/2494.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/3546.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/5547.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/9851.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/9188.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/4203.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/8715.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/4640.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/1866.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/7718.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/7514.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/1017.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/12102.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/296.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/6718.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/11253.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/10173.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/11849.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/10383.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/10678.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/5790.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/6318.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/1884.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/4654.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/9145.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/2479.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/12289.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/2688.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/4134.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/10637.jpg\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/anaconda/envs/py38_tensorflow/lib/python3.8/site-packages/PIL/TiffImagePlugin.py:793: UserWarning: Truncated File Read\n", " warnings.warn(str(msg))\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Corrupt image or wrong format: data/PetImages/Dog/543.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/8730.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/12114.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/522.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/10863.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/10401.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/7739.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/561.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/1308.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/9643.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/3155.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/5736.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/4257.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/11853.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/6855.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/1259.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/7652.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/573.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/11702.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/414.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/4301.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/9500.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/10726.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/9367.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/2877.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/10907.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/10972.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/7311.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/10797.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/2317.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/7128.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/6500.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/11285.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/6430.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/6032.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/10969.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/8364.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/11692.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/3038.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/5604.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/565.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/9640.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/7459.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/6305.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/6555.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/11590.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/6059.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/3927.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/10705.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/2384.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/3885.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/663.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/9043.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/8563.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/9556.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/9967.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/10158.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/5263.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/8641.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/7369.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/4924.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/10351.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/6213.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/5104.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/1356.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/7133.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/7112.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/1168.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/719.jpg\n", "Corrupt image or wrong format: data/PetImages/Dog/50.jpg\n" ] } ], "source": [ "check_image_dir('data/PetImages/Cat/*.jpg')\n", "check_image_dir('data/PetImages/Dog/*.jpg')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Loading the Dataset\n", "\n", "In previous examples, we were loading datasets that are built into Keras. Now we are about to deal with our own dataset, which we need to load from a directory of images.\n", "\n", "In real life, the size of image datasets can be pretty large, and one cannot rely on all data being able to fit into memory. Thus, datasets are often represented as **generators** that can return data in minibatches suitable for training.\n", "\n", "To deal with image classification, Keras includes special function `image_dataset_from_directory`, which can load images from subdirectories corresponding to different classes. This function also takes care of scaling images, and it can also split dataset into train and test subsets:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Found 24769 files belonging to 2 classes.\n", "Using 19816 files for training.\n", "Found 24769 files belonging to 2 classes.\n", "Using 4953 files for validation.\n" ] } ], "source": [ "data_dir = 'data/PetImages'\n", "batch_size = 64\n", "ds_train = keras.preprocessing.image_dataset_from_directory(\n", " data_dir,\n", " validation_split = 0.2,\n", " subset = 'training',\n", " seed = 13,\n", " image_size = (224,224),\n", " batch_size = batch_size\n", ")\n", "ds_test = keras.preprocessing.image_dataset_from_directory(\n", " data_dir,\n", " validation_split = 0.2,\n", " subset = 'validation',\n", " seed = 13,\n", " image_size = (224,224),\n", " batch_size = batch_size\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is important to set the same `seed` value for both calls, because it affects the split of images between train and test dataset.\n", "\n", "Dataset automatically picks up class names from directories, and you can access them if needed by calling:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Cat', 'Dog']" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ds_train.class_names" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Datasets that we have obtained can be directly passed to `fit` function to train the model. They contain both corresponding images and labels, which can be looped over using the following construction:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Training batch shape: features=(64, 224, 224, 3), labels=(64,)\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for x,y in ds_train:\n", " print(f\"Training batch shape: features={x.shape}, labels={y.shape}\")\n", " x_sample, y_sample = x,y\n", " break\n", " \n", "display_dataset(x_sample.numpy().astype(np.int),np.expand_dims(y_sample,1),classes=ds_train.class_names)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> **Note**: All images in the dataset are represented as floatint point tensors with range 0-255. Before passing them to the neural network, we need to scale those values into 0-1 range. When plotting images, we either need to do the same, or convert values to the `int` type (which we do in the code above), in order to show `matplotlib` that we want to plot the original unscaled image." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Pre-trained models\n", "\n", "For many image classification tasks one can find pre-trained neural network models. Many of those models are available inside `keras.applications` namespace, and even more models can be found on the Internet. Let's see how simplest VGG-16 model can be loaded and used:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/vgg16/vgg16_weights_tf_dim_ordering_tf_kernels.h5\n", "553467904/553467096 [==============================] - 6s 0us/step\n", "Most probable class = [208]\n", "Downloading data from https://storage.googleapis.com/download.tensorflow.org/data/imagenet_class_index.json\n", "40960/35363 [==================================] - 0s 0us/step\n" ] }, { "data": { "text/plain": [ "[[('n02099712', 'Labrador_retriever', 0.5340957),\n", " ('n02100236', 'German_short-haired_pointer', 0.0939442),\n", " ('n02092339', 'Weimaraner', 0.08160535),\n", " ('n02099849', 'Chesapeake_Bay_retriever', 0.057179328),\n", " ('n02109047', 'Great_Dane', 0.03733857)]]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vgg = keras.applications.VGG16()\n", "inp = keras.applications.vgg16.preprocess_input(x_sample[:1])\n", "\n", "res = vgg(inp)\n", "print(f\"Most probable class = {tf.argmax(res,1)}\")\n", "\n", "keras.applications.vgg16.decode_predictions(res.numpy())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are a couple of important things here:\n", "* Before passing an input to any pre-trained network it has to be pre-processed in a certain way. This is done by calling corresponding `preprocess_input` function, which receives a batch of images, and returns their processed form. In the case of VGG-16, images are normalized, and some pre-defined avarage value for each channels is subtracted. That is because VGG-16 was originally trained with this pre-processing.\n", "* Neural network is applied to the input batch, and we receive as the result a batch of 1000-element tensors that show probability of each class. We can find the most probable class number by calling `argmax` on this tensor.\n", "* Obtained result is a [number of an `ImageNet` class](https://gist.github.com/yrevar/942d3a0ac09ec9e5eb3a). To make sense of this result, we can also use `decode_predictions` function, that returns top n classes together with their names." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's also see the architecture of the VGG-16 network:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model: \"vgg16\"\n", "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "input_1 (InputLayer) [(None, 224, 224, 3)] 0 \n", "_________________________________________________________________\n", "block1_conv1 (Conv2D) (None, 224, 224, 64) 1792 \n", "_________________________________________________________________\n", "block1_conv2 (Conv2D) (None, 224, 224, 64) 36928 \n", "_________________________________________________________________\n", "block1_pool (MaxPooling2D) (None, 112, 112, 64) 0 \n", "_________________________________________________________________\n", "block2_conv1 (Conv2D) (None, 112, 112, 128) 73856 \n", "_________________________________________________________________\n", "block2_conv2 (Conv2D) (None, 112, 112, 128) 147584 \n", "_________________________________________________________________\n", "block2_pool (MaxPooling2D) (None, 56, 56, 128) 0 \n", "_________________________________________________________________\n", "block3_conv1 (Conv2D) (None, 56, 56, 256) 295168 \n", "_________________________________________________________________\n", "block3_conv2 (Conv2D) (None, 56, 56, 256) 590080 \n", "_________________________________________________________________\n", "block3_conv3 (Conv2D) (None, 56, 56, 256) 590080 \n", "_________________________________________________________________\n", "block3_pool (MaxPooling2D) (None, 28, 28, 256) 0 \n", "_________________________________________________________________\n", "block4_conv1 (Conv2D) (None, 28, 28, 512) 1180160 \n", "_________________________________________________________________\n", "block4_conv2 (Conv2D) (None, 28, 28, 512) 2359808 \n", "_________________________________________________________________\n", "block4_conv3 (Conv2D) (None, 28, 28, 512) 2359808 \n", "_________________________________________________________________\n", "block4_pool (MaxPooling2D) (None, 14, 14, 512) 0 \n", "_________________________________________________________________\n", "block5_conv1 (Conv2D) (None, 14, 14, 512) 2359808 \n", "_________________________________________________________________\n", "block5_conv2 (Conv2D) (None, 14, 14, 512) 2359808 \n", "_________________________________________________________________\n", "block5_conv3 (Conv2D) (None, 14, 14, 512) 2359808 \n", "_________________________________________________________________\n", "block5_pool (MaxPooling2D) (None, 7, 7, 512) 0 \n", "_________________________________________________________________\n", "flatten (Flatten) (None, 25088) 0 \n", "_________________________________________________________________\n", "fc1 (Dense) (None, 4096) 102764544 \n", "_________________________________________________________________\n", "fc2 (Dense) (None, 4096) 16781312 \n", "_________________________________________________________________\n", "predictions (Dense) (None, 1000) 4097000 \n", "=================================================================\n", "Total params: 138,357,544\n", "Trainable params: 138,357,544\n", "Non-trainable params: 0\n", "_________________________________________________________________\n" ] } ], "source": [ "vgg.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## GPU computations\n", "\n", "Deep neural networks, such as VGG-16 and other more modern architectures require quite a lot of computational power to run. It makes sense to use GPU acceleration, if it is available. Luckily, Keras automatically speeds up the computatons on the GPU if it is available. We can check if Tensorflow is able to use GPU using the following code:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tf.config.list_physical_devices('GPU')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## Extracting VGG features\n", "\n", "If we want to use VGG-16 to extract features from our images, we need the model without final classification layers. We can instantiate VGG-16 model without top layers using this code:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Shape after applying VGG-16: (7, 7, 512)\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "vgg = keras.applications.VGG16(include_top=False)\n", "\n", "inp = keras.applications.vgg16.preprocess_input(x_sample[:1])\n", "res = vgg(inp)\n", "print(f\"Shape after applying VGG-16: {res[0].shape}\")\n", "plt.figure(figsize=(15,3))\n", "plt.imshow(res[0].numpy().reshape(-1,512))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The dimension of feature tensor is 7x7x512, but in order to visualize it we had to reshape it to 2D form.\n", "\n", "Now let's try to see if those features can be used to classify images. Let's manually take some portion of images (50 minibatches, in our case), and pre-compute their feature vectors. We can use Tensorflow **dataset** API to do that. `map` function takes a dataset and applies a given lambda-function to transform it. We use this mechanism to construct new datasets, `ds_features_train` and `ds_features_test`, that contain VGG-extracted features instead of original images." ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(64, 7, 7, 512) (64,)\n" ] } ], "source": [ "num = batch_size*50\n", "ds_features_train = ds_train.take(50).map(lambda x,y : (vgg(x),y))\n", "ds_features_test = ds_test.take(10).map(lambda x,y : (vgg(x),y))\n", "\n", "for x,y in ds_features_train:\n", " print(x.shape,y.shape)\n", " break" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We used construction `.take(50)` to limit the dataset size, to speed up our demonstration. You can of course perform this experiment on the full dataset.\n", "\n", "Now that we have a dataset with extracted features, we can train a simple dense classifier to distinguish between cats and dogs. This network will take feature vector of shape (7,7,512), and produce one output that corresponds either to a dog or to a cat. Because it is a binary classification, we use `sigmoid` activation function and `binary_crossentropy` loss." ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "50/50 [==============================] - 1896s 38s/step - loss: 1.4845 - acc: 0.9144 - val_loss: 0.7220 - val_acc: 0.9516\n" ] } ], "source": [ "model = keras.models.Sequential([\n", " keras.layers.Flatten(input_shape=(7,7,512)),\n", " keras.layers.Dense(1,activation='sigmoid')\n", "])\n", "model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['acc'])\n", "hist = model.fit(ds_features_train, validation_data=ds_features_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is great, we can distinguish between a cat and a dog with almost 95% probability! However, we have only tested this approach on a subset of all images, because manual feature extraction seems to take a lot of time.\n", "\n", "## Transfer learning using one VGG network\n", "\n", "We can also avoid manually pre-computing the features by using the original VGG-16 network as a whole during training, by adding feature extractor to our network as a first layer. \n", "\n", "The beauty of Keras architecture is that VGG-16 model that we have defined above can also be used as a layer in another neural network! We just need to construct a network with dense classifier on top of it, and then train the whole network using back propagation." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model: \"sequential\"\n", "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "vgg16 (Functional) (None, 7, 7, 512) 14714688 \n", "_________________________________________________________________\n", "flatten (Flatten) (None, 25088) 0 \n", "_________________________________________________________________\n", "dense (Dense) (None, 1) 25089 \n", "=================================================================\n", "Total params: 14,739,777\n", "Trainable params: 25,089\n", "Non-trainable params: 14,714,688\n", "_________________________________________________________________\n" ] } ], "source": [ "model = keras.models.Sequential()\n", "model.add(keras.applications.VGG16(include_top=False,input_shape=(224,224,3)))\n", "model.add(keras.layers.Flatten())\n", "model.add(keras.layers.Dense(1,activation='sigmoid'))\n", "\n", "model.layers[0].trainable = False\n", "\n", "model.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This model looks like and end-to-end classification network, which takes an image and returns the class. However, the tricky thing is that we want VGG16 to act as a feature extractor, and not to be re-trained. Thus, we need to **freeze weights of convolutional feature extractor**. We can access first layer of the network by calling `model.layers[0]`, and we just need to set `trainable` property to `False`.\n", "\n", "> **Note**: Freezing of feature extractor weights is needed, because otherwise untrained classifier layer can destroy the original pre-trained weights of convolutional extractor.\n", "\n", "You can notice that while the total number of parameters in our network is around 15 million, we are only training 25k parameters. All other parameters of top-level convolutional filters are pre-trained. That is good, because we are able to fine-tune smaller number of parameters with smaller number of examples.\n", "\n", "We will now train our network and see how good we can get. Expect rather long running time, and do not worry if the execution seems frozen for some time." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "310/310 [==============================] - 265s 716ms/step - loss: 0.9917 - acc: 0.9512 - val_loss: 0.8156 - val_acc: 0.9671\n" ] } ], "source": [ "model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['acc'])\n", "hist = model.fit(ds_train, validation_data=ds_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It looks like we have obtained reasonably accurate cats vs. dogs classifier! \n", "\n", "## Saving and Loading the Model\n", "\n", "Once we have trained the model, we can save model architecture and trained weights to a file for future use:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: data/cats_dogs.tf/assets\n" ] } ], "source": [ "model.save('data/cats_dogs.tf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can then load the model from file at any time. You may find it useful in case the next experiment destroys the model - you would not have to re-start from scratch." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "model = keras.models.load_model('data/cats_dogs.tf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fine-tuning transfer learning\n", "\n", "In the previous section, we have trained the final classifier layer to classify images in our own dataset. However, we did not re-train the feature extractor, and our model relied on the features that the model has learned on ImageNet data. If your objects visually differ from ordinary ImageNet images, this combination of features might not work best. Thus it makes sense to start training convolutional layers as well.\n", "\n", "To do that, we can unfreeze the convolutional filter parameters that we have previously frozen. \n", "\n", "> **Note:** It is important that you freeze parameters first and perform several epochs of training in order to stabilize weights in the classification layer. If you immediately start training end-to-end network with unfrozen parameters, large errors are likely to destroy the pre-trained weights in the convolutional layers.\n", "\n", "Our convolutional VGG-16 model is located inside the first layer, and it consists of many layers itself. We can have a look at its structure: " ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model: \"vgg16\"\n", "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "input_1 (InputLayer) [(None, 224, 224, 3)] 0 \n", "_________________________________________________________________\n", "block1_conv1 (Conv2D) (None, 224, 224, 64) 1792 \n", "_________________________________________________________________\n", "block1_conv2 (Conv2D) (None, 224, 224, 64) 36928 \n", "_________________________________________________________________\n", "block1_pool (MaxPooling2D) (None, 112, 112, 64) 0 \n", "_________________________________________________________________\n", "block2_conv1 (Conv2D) (None, 112, 112, 128) 73856 \n", "_________________________________________________________________\n", "block2_conv2 (Conv2D) (None, 112, 112, 128) 147584 \n", "_________________________________________________________________\n", "block2_pool (MaxPooling2D) (None, 56, 56, 128) 0 \n", "_________________________________________________________________\n", "block3_conv1 (Conv2D) (None, 56, 56, 256) 295168 \n", "_________________________________________________________________\n", "block3_conv2 (Conv2D) (None, 56, 56, 256) 590080 \n", "_________________________________________________________________\n", "block3_conv3 (Conv2D) (None, 56, 56, 256) 590080 \n", "_________________________________________________________________\n", "block3_pool (MaxPooling2D) (None, 28, 28, 256) 0 \n", "_________________________________________________________________\n", "block4_conv1 (Conv2D) (None, 28, 28, 512) 1180160 \n", "_________________________________________________________________\n", "block4_conv2 (Conv2D) (None, 28, 28, 512) 2359808 \n", "_________________________________________________________________\n", "block4_conv3 (Conv2D) (None, 28, 28, 512) 2359808 \n", "_________________________________________________________________\n", "block4_pool (MaxPooling2D) (None, 14, 14, 512) 0 \n", "_________________________________________________________________\n", "block5_conv1 (Conv2D) (None, 14, 14, 512) 2359808 \n", "_________________________________________________________________\n", "block5_conv2 (Conv2D) (None, 14, 14, 512) 2359808 \n", "_________________________________________________________________\n", "block5_conv3 (Conv2D) (None, 14, 14, 512) 2359808 \n", "_________________________________________________________________\n", "block5_pool (MaxPooling2D) (None, 7, 7, 512) 0 \n", "=================================================================\n", "Total params: 14,714,688\n", "Trainable params: 0\n", "Non-trainable params: 14,714,688\n", "_________________________________________________________________\n" ] } ], "source": [ "model.layers[0].summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can unfreeze all layers of convolutional base:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "model.layers[0].trainable = True" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "However, unfeezing all of them at once is not the best idea. We can first unfreeze just a few final layers of convolutions, because they contain higher level patterns that are relevant for our images. For example, to begin with, we can freeze all layers except the last 4: " ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model: \"sequential\"\n", "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "vgg16 (Functional) (None, 7, 7, 512) 14714688 \n", "_________________________________________________________________\n", "flatten (Flatten) (None, 25088) 0 \n", "_________________________________________________________________\n", "dense (Dense) (None, 1) 25089 \n", "=================================================================\n", "Total params: 14,739,777\n", "Trainable params: 7,104,513\n", "Non-trainable params: 7,635,264\n", "_________________________________________________________________\n" ] } ], "source": [ "for i in range(len(model.layers[0].layers)-4):\n", " model.layers[0].layers[i].trainable = False\n", "model.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Observe that the number of trainable parameters increased significantly, but it is still around 50% of all parameters.\n", "\n", "After unfreezing, we can do a few more epochs of training (in our example, we will do just one). You can also select lower learning rate, in order to minimize the impact on the pre-trained weights. However, even with low learning rate, you can expect the accuracy to drop in the beginning of the training, until finally reaching slightly higher level than in the case of fixed weights.\n", "\n", "> **Note:** This training happens much slower, because we need to propagate gradients back through many layers of the network!" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "310/310 [==============================] - 201s 645ms/step - loss: 0.5270 - acc: 0.9776 - val_loss: 1.4132 - val_acc: 0.9653\n" ] } ], "source": [ "hist = model.fit(ds_train, validation_data=ds_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We are likely to achieve higher training accuracy, because we are using more poweful network with more parameters, but validation accuracy would increase not as much.\n", "\n", "Feel free to unfreeze a few more layers of the network and train more, to see if you are able to achieve higher accuracy!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Other computer vision models\n", "\n", "VGG-16 is one of the simplest computer vision architectures. Keras provides many more pre-trained networks. The most frequently used ones among those are **ResNet** architectures, developed by Microsoft, and **Inception** by Google. For example, let's explore the architecture of the simplest ResNet-50 model (ResNet is a family of models with different depth, you can try experimenting with ResNet-152 if you want to see what a really deep model looks like):" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model: \"resnet50\"\n", "__________________________________________________________________________________________________\n", "Layer (type) Output Shape Param # Connected to \n", "==================================================================================================\n", "input_3 (InputLayer) [(None, 224, 224, 3) 0 \n", "__________________________________________________________________________________________________\n", "conv1_pad (ZeroPadding2D) (None, 230, 230, 3) 0 input_3[0][0] \n", "__________________________________________________________________________________________________\n", "conv1_conv (Conv2D) (None, 112, 112, 64) 9472 conv1_pad[0][0] \n", "__________________________________________________________________________________________________\n", "conv1_bn (BatchNormalization) (None, 112, 112, 64) 256 conv1_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv1_relu (Activation) (None, 112, 112, 64) 0 conv1_bn[0][0] \n", "__________________________________________________________________________________________________\n", "pool1_pad (ZeroPadding2D) (None, 114, 114, 64) 0 conv1_relu[0][0] \n", "__________________________________________________________________________________________________\n", "pool1_pool (MaxPooling2D) (None, 56, 56, 64) 0 pool1_pad[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block1_1_conv (Conv2D) (None, 56, 56, 64) 4160 pool1_pool[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block1_1_bn (BatchNormali (None, 56, 56, 64) 256 conv2_block1_1_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block1_1_relu (Activation (None, 56, 56, 64) 0 conv2_block1_1_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block1_2_conv (Conv2D) (None, 56, 56, 64) 36928 conv2_block1_1_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block1_2_bn (BatchNormali (None, 56, 56, 64) 256 conv2_block1_2_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block1_2_relu (Activation (None, 56, 56, 64) 0 conv2_block1_2_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block1_0_conv (Conv2D) (None, 56, 56, 256) 16640 pool1_pool[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block1_3_conv (Conv2D) (None, 56, 56, 256) 16640 conv2_block1_2_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block1_0_bn (BatchNormali (None, 56, 56, 256) 1024 conv2_block1_0_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block1_3_bn (BatchNormali (None, 56, 56, 256) 1024 conv2_block1_3_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block1_add (Add) (None, 56, 56, 256) 0 conv2_block1_0_bn[0][0] \n", " conv2_block1_3_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block1_out (Activation) (None, 56, 56, 256) 0 conv2_block1_add[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block2_1_conv (Conv2D) (None, 56, 56, 64) 16448 conv2_block1_out[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block2_1_bn (BatchNormali (None, 56, 56, 64) 256 conv2_block2_1_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block2_1_relu (Activation (None, 56, 56, 64) 0 conv2_block2_1_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block2_2_conv (Conv2D) (None, 56, 56, 64) 36928 conv2_block2_1_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block2_2_bn (BatchNormali (None, 56, 56, 64) 256 conv2_block2_2_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block2_2_relu (Activation (None, 56, 56, 64) 0 conv2_block2_2_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block2_3_conv (Conv2D) (None, 56, 56, 256) 16640 conv2_block2_2_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block2_3_bn (BatchNormali (None, 56, 56, 256) 1024 conv2_block2_3_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block2_add (Add) (None, 56, 56, 256) 0 conv2_block1_out[0][0] \n", " conv2_block2_3_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block2_out (Activation) (None, 56, 56, 256) 0 conv2_block2_add[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block3_1_conv (Conv2D) (None, 56, 56, 64) 16448 conv2_block2_out[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block3_1_bn (BatchNormali (None, 56, 56, 64) 256 conv2_block3_1_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block3_1_relu (Activation (None, 56, 56, 64) 0 conv2_block3_1_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block3_2_conv (Conv2D) (None, 56, 56, 64) 36928 conv2_block3_1_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block3_2_bn (BatchNormali (None, 56, 56, 64) 256 conv2_block3_2_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block3_2_relu (Activation (None, 56, 56, 64) 0 conv2_block3_2_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block3_3_conv (Conv2D) (None, 56, 56, 256) 16640 conv2_block3_2_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block3_3_bn (BatchNormali (None, 56, 56, 256) 1024 conv2_block3_3_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block3_add (Add) (None, 56, 56, 256) 0 conv2_block2_out[0][0] \n", " conv2_block3_3_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv2_block3_out (Activation) (None, 56, 56, 256) 0 conv2_block3_add[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block1_1_conv (Conv2D) (None, 28, 28, 128) 32896 conv2_block3_out[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block1_1_bn (BatchNormali (None, 28, 28, 128) 512 conv3_block1_1_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block1_1_relu (Activation (None, 28, 28, 128) 0 conv3_block1_1_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block1_2_conv (Conv2D) (None, 28, 28, 128) 147584 conv3_block1_1_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block1_2_bn (BatchNormali (None, 28, 28, 128) 512 conv3_block1_2_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block1_2_relu (Activation (None, 28, 28, 128) 0 conv3_block1_2_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block1_0_conv (Conv2D) (None, 28, 28, 512) 131584 conv2_block3_out[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block1_3_conv (Conv2D) (None, 28, 28, 512) 66048 conv3_block1_2_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block1_0_bn (BatchNormali (None, 28, 28, 512) 2048 conv3_block1_0_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block1_3_bn (BatchNormali (None, 28, 28, 512) 2048 conv3_block1_3_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block1_add (Add) (None, 28, 28, 512) 0 conv3_block1_0_bn[0][0] \n", " conv3_block1_3_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block1_out (Activation) (None, 28, 28, 512) 0 conv3_block1_add[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block2_1_conv (Conv2D) (None, 28, 28, 128) 65664 conv3_block1_out[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block2_1_bn (BatchNormali (None, 28, 28, 128) 512 conv3_block2_1_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block2_1_relu (Activation (None, 28, 28, 128) 0 conv3_block2_1_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block2_2_conv (Conv2D) (None, 28, 28, 128) 147584 conv3_block2_1_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block2_2_bn (BatchNormali (None, 28, 28, 128) 512 conv3_block2_2_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block2_2_relu (Activation (None, 28, 28, 128) 0 conv3_block2_2_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block2_3_conv (Conv2D) (None, 28, 28, 512) 66048 conv3_block2_2_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block2_3_bn (BatchNormali (None, 28, 28, 512) 2048 conv3_block2_3_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block2_add (Add) (None, 28, 28, 512) 0 conv3_block1_out[0][0] \n", " conv3_block2_3_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block2_out (Activation) (None, 28, 28, 512) 0 conv3_block2_add[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block3_1_conv (Conv2D) (None, 28, 28, 128) 65664 conv3_block2_out[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block3_1_bn (BatchNormali (None, 28, 28, 128) 512 conv3_block3_1_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block3_1_relu (Activation (None, 28, 28, 128) 0 conv3_block3_1_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block3_2_conv (Conv2D) (None, 28, 28, 128) 147584 conv3_block3_1_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block3_2_bn (BatchNormali (None, 28, 28, 128) 512 conv3_block3_2_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block3_2_relu (Activation (None, 28, 28, 128) 0 conv3_block3_2_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block3_3_conv (Conv2D) (None, 28, 28, 512) 66048 conv3_block3_2_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block3_3_bn (BatchNormali (None, 28, 28, 512) 2048 conv3_block3_3_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block3_add (Add) (None, 28, 28, 512) 0 conv3_block2_out[0][0] \n", " conv3_block3_3_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block3_out (Activation) (None, 28, 28, 512) 0 conv3_block3_add[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block4_1_conv (Conv2D) (None, 28, 28, 128) 65664 conv3_block3_out[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block4_1_bn (BatchNormali (None, 28, 28, 128) 512 conv3_block4_1_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block4_1_relu (Activation (None, 28, 28, 128) 0 conv3_block4_1_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block4_2_conv (Conv2D) (None, 28, 28, 128) 147584 conv3_block4_1_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block4_2_bn (BatchNormali (None, 28, 28, 128) 512 conv3_block4_2_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block4_2_relu (Activation (None, 28, 28, 128) 0 conv3_block4_2_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block4_3_conv (Conv2D) (None, 28, 28, 512) 66048 conv3_block4_2_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block4_3_bn (BatchNormali (None, 28, 28, 512) 2048 conv3_block4_3_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block4_add (Add) (None, 28, 28, 512) 0 conv3_block3_out[0][0] \n", " conv3_block4_3_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv3_block4_out (Activation) (None, 28, 28, 512) 0 conv3_block4_add[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block1_1_conv (Conv2D) (None, 14, 14, 256) 131328 conv3_block4_out[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block1_1_bn (BatchNormali (None, 14, 14, 256) 1024 conv4_block1_1_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block1_1_relu (Activation (None, 14, 14, 256) 0 conv4_block1_1_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block1_2_conv (Conv2D) (None, 14, 14, 256) 590080 conv4_block1_1_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block1_2_bn (BatchNormali (None, 14, 14, 256) 1024 conv4_block1_2_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block1_2_relu (Activation (None, 14, 14, 256) 0 conv4_block1_2_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block1_0_conv (Conv2D) (None, 14, 14, 1024) 525312 conv3_block4_out[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block1_3_conv (Conv2D) (None, 14, 14, 1024) 263168 conv4_block1_2_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block1_0_bn (BatchNormali (None, 14, 14, 1024) 4096 conv4_block1_0_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block1_3_bn (BatchNormali (None, 14, 14, 1024) 4096 conv4_block1_3_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block1_add (Add) (None, 14, 14, 1024) 0 conv4_block1_0_bn[0][0] \n", " conv4_block1_3_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block1_out (Activation) (None, 14, 14, 1024) 0 conv4_block1_add[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block2_1_conv (Conv2D) (None, 14, 14, 256) 262400 conv4_block1_out[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block2_1_bn (BatchNormali (None, 14, 14, 256) 1024 conv4_block2_1_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block2_1_relu (Activation (None, 14, 14, 256) 0 conv4_block2_1_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block2_2_conv (Conv2D) (None, 14, 14, 256) 590080 conv4_block2_1_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block2_2_bn (BatchNormali (None, 14, 14, 256) 1024 conv4_block2_2_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block2_2_relu (Activation (None, 14, 14, 256) 0 conv4_block2_2_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block2_3_conv (Conv2D) (None, 14, 14, 1024) 263168 conv4_block2_2_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block2_3_bn (BatchNormali (None, 14, 14, 1024) 4096 conv4_block2_3_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block2_add (Add) (None, 14, 14, 1024) 0 conv4_block1_out[0][0] \n", " conv4_block2_3_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block2_out (Activation) (None, 14, 14, 1024) 0 conv4_block2_add[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block3_1_conv (Conv2D) (None, 14, 14, 256) 262400 conv4_block2_out[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block3_1_bn (BatchNormali (None, 14, 14, 256) 1024 conv4_block3_1_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block3_1_relu (Activation (None, 14, 14, 256) 0 conv4_block3_1_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block3_2_conv (Conv2D) (None, 14, 14, 256) 590080 conv4_block3_1_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block3_2_bn (BatchNormali (None, 14, 14, 256) 1024 conv4_block3_2_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block3_2_relu (Activation (None, 14, 14, 256) 0 conv4_block3_2_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block3_3_conv (Conv2D) (None, 14, 14, 1024) 263168 conv4_block3_2_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block3_3_bn (BatchNormali (None, 14, 14, 1024) 4096 conv4_block3_3_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block3_add (Add) (None, 14, 14, 1024) 0 conv4_block2_out[0][0] \n", " conv4_block3_3_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block3_out (Activation) (None, 14, 14, 1024) 0 conv4_block3_add[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block4_1_conv (Conv2D) (None, 14, 14, 256) 262400 conv4_block3_out[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block4_1_bn (BatchNormali (None, 14, 14, 256) 1024 conv4_block4_1_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block4_1_relu (Activation (None, 14, 14, 256) 0 conv4_block4_1_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block4_2_conv (Conv2D) (None, 14, 14, 256) 590080 conv4_block4_1_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block4_2_bn (BatchNormali (None, 14, 14, 256) 1024 conv4_block4_2_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block4_2_relu (Activation (None, 14, 14, 256) 0 conv4_block4_2_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block4_3_conv (Conv2D) (None, 14, 14, 1024) 263168 conv4_block4_2_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block4_3_bn (BatchNormali (None, 14, 14, 1024) 4096 conv4_block4_3_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block4_add (Add) (None, 14, 14, 1024) 0 conv4_block3_out[0][0] \n", " conv4_block4_3_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block4_out (Activation) (None, 14, 14, 1024) 0 conv4_block4_add[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block5_1_conv (Conv2D) (None, 14, 14, 256) 262400 conv4_block4_out[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block5_1_bn (BatchNormali (None, 14, 14, 256) 1024 conv4_block5_1_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block5_1_relu (Activation (None, 14, 14, 256) 0 conv4_block5_1_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block5_2_conv (Conv2D) (None, 14, 14, 256) 590080 conv4_block5_1_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block5_2_bn (BatchNormali (None, 14, 14, 256) 1024 conv4_block5_2_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block5_2_relu (Activation (None, 14, 14, 256) 0 conv4_block5_2_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block5_3_conv (Conv2D) (None, 14, 14, 1024) 263168 conv4_block5_2_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block5_3_bn (BatchNormali (None, 14, 14, 1024) 4096 conv4_block5_3_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block5_add (Add) (None, 14, 14, 1024) 0 conv4_block4_out[0][0] \n", " conv4_block5_3_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block5_out (Activation) (None, 14, 14, 1024) 0 conv4_block5_add[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block6_1_conv (Conv2D) (None, 14, 14, 256) 262400 conv4_block5_out[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block6_1_bn (BatchNormali (None, 14, 14, 256) 1024 conv4_block6_1_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block6_1_relu (Activation (None, 14, 14, 256) 0 conv4_block6_1_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block6_2_conv (Conv2D) (None, 14, 14, 256) 590080 conv4_block6_1_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block6_2_bn (BatchNormali (None, 14, 14, 256) 1024 conv4_block6_2_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block6_2_relu (Activation (None, 14, 14, 256) 0 conv4_block6_2_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block6_3_conv (Conv2D) (None, 14, 14, 1024) 263168 conv4_block6_2_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block6_3_bn (BatchNormali (None, 14, 14, 1024) 4096 conv4_block6_3_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block6_add (Add) (None, 14, 14, 1024) 0 conv4_block5_out[0][0] \n", " conv4_block6_3_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv4_block6_out (Activation) (None, 14, 14, 1024) 0 conv4_block6_add[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block1_1_conv (Conv2D) (None, 7, 7, 512) 524800 conv4_block6_out[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block1_1_bn (BatchNormali (None, 7, 7, 512) 2048 conv5_block1_1_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block1_1_relu (Activation (None, 7, 7, 512) 0 conv5_block1_1_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block1_2_conv (Conv2D) (None, 7, 7, 512) 2359808 conv5_block1_1_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block1_2_bn (BatchNormali (None, 7, 7, 512) 2048 conv5_block1_2_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block1_2_relu (Activation (None, 7, 7, 512) 0 conv5_block1_2_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block1_0_conv (Conv2D) (None, 7, 7, 2048) 2099200 conv4_block6_out[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block1_3_conv (Conv2D) (None, 7, 7, 2048) 1050624 conv5_block1_2_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block1_0_bn (BatchNormali (None, 7, 7, 2048) 8192 conv5_block1_0_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block1_3_bn (BatchNormali (None, 7, 7, 2048) 8192 conv5_block1_3_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block1_add (Add) (None, 7, 7, 2048) 0 conv5_block1_0_bn[0][0] \n", " conv5_block1_3_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block1_out (Activation) (None, 7, 7, 2048) 0 conv5_block1_add[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block2_1_conv (Conv2D) (None, 7, 7, 512) 1049088 conv5_block1_out[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block2_1_bn (BatchNormali (None, 7, 7, 512) 2048 conv5_block2_1_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block2_1_relu (Activation (None, 7, 7, 512) 0 conv5_block2_1_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block2_2_conv (Conv2D) (None, 7, 7, 512) 2359808 conv5_block2_1_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block2_2_bn (BatchNormali (None, 7, 7, 512) 2048 conv5_block2_2_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block2_2_relu (Activation (None, 7, 7, 512) 0 conv5_block2_2_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block2_3_conv (Conv2D) (None, 7, 7, 2048) 1050624 conv5_block2_2_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block2_3_bn (BatchNormali (None, 7, 7, 2048) 8192 conv5_block2_3_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block2_add (Add) (None, 7, 7, 2048) 0 conv5_block1_out[0][0] \n", " conv5_block2_3_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block2_out (Activation) (None, 7, 7, 2048) 0 conv5_block2_add[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block3_1_conv (Conv2D) (None, 7, 7, 512) 1049088 conv5_block2_out[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block3_1_bn (BatchNormali (None, 7, 7, 512) 2048 conv5_block3_1_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block3_1_relu (Activation (None, 7, 7, 512) 0 conv5_block3_1_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block3_2_conv (Conv2D) (None, 7, 7, 512) 2359808 conv5_block3_1_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block3_2_bn (BatchNormali (None, 7, 7, 512) 2048 conv5_block3_2_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block3_2_relu (Activation (None, 7, 7, 512) 0 conv5_block3_2_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block3_3_conv (Conv2D) (None, 7, 7, 2048) 1050624 conv5_block3_2_relu[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block3_3_bn (BatchNormali (None, 7, 7, 2048) 8192 conv5_block3_3_conv[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block3_add (Add) (None, 7, 7, 2048) 0 conv5_block2_out[0][0] \n", " conv5_block3_3_bn[0][0] \n", "__________________________________________________________________________________________________\n", "conv5_block3_out (Activation) (None, 7, 7, 2048) 0 conv5_block3_add[0][0] \n", "__________________________________________________________________________________________________\n", "avg_pool (GlobalAveragePooling2 (None, 2048) 0 conv5_block3_out[0][0] \n", "__________________________________________________________________________________________________\n", "predictions (Dense) (None, 1000) 2049000 avg_pool[0][0] \n", "==================================================================================================\n", "Total params: 25,636,712\n", "Trainable params: 25,583,592\n", "Non-trainable params: 53,120\n", "__________________________________________________________________________________________________\n" ] } ], "source": [ "resnet = keras.applications.ResNet50()\n", "resnet.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see, the model contains the same familiar building blocks: convolutional layers, pooling layers and final dense classifier. We can use this model in exactly the same manner as we have been using VGG-16 for transfer learning. You can try experimenting with the code above, using different ResNet models as the base model, and see how accuracy changes.\n", "\n", "## Batch Normalization\n", "\n", "This network contains yet another type of layer: **Batch Normalization**. The idea of batch normalization is to bring values that flow through the neural network to right interval. Usually neural networks work best when all values are in the range of [-1,1] or [0,1], and that is the reason that we scale/normalize our input data accordingly. However, during training of a deep network, it can happen that values get significantly out of this range, which makes training problematic. Batch normalization layer computes average and standard deviation for all values of the current minibatch, and uses them to normalize the signal before passing it through a neural network layer. This significantly improves the stability of deep networks." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Takeaway\n", "\n", "Using transfer learning, we were able to quickly put together a classifier for our custom object classification task, and achieve high accuracy. However, this example was not completely fair, because original VGG-16 network was pre-trained to recognize cats and dogs, and thus we were just reusing most of the patterns that were already present in the network. You can expect lower accuracy on more exotic domain-specific objects, such as details on production line in a plant, or different tree leaves.\n", "\n", "You can see that more complex tasks that we are solving now require higher computational power, and cannot be easily solved on the CPU. In the next unit, we will try to use more lightweight implementation to train the same model using lower compute resources, which results in just slightly lower accuracy. " ] } ], "metadata": { "kernelspec": { "display_name": "py38_tensorflow", "language": "python", "name": "conda-env-py38_tensorflow-py" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.10" } }, "nbformat": 4, "nbformat_minor": 4 }