Newer
Older
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "dWyPGNkCGhIX"
},
"source": [
"# Part I : Create Your Own Dataset and Train it with ConvNets\n",
"\n",
"In this part of the notebook, you will set up your own dataset for image classification. Please specify \n",
"under `queries` the image categories you are interested in. Under `limit` specify the number of images \n",
"you want to download for each image category. \n",
"\n",
"You do not need to understand the class `simple_image_download`, just execute the cell after you have specified \n",
"the download folder.\n"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {},
"colab_type": "code",
"id": "8rckz3ZuGhIc",
"outputId": "6f615f06-759a-4eea-839e-658155df8d36"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Found 2 image links\n",
"Saved 2 images\n",
"Found 2 image links\n",
"Saved 2 images\n",
"Found 2 image links\n",
"Saved 2 images\n",
"Found 2 image links\n",
"ERROR - Could not save https://upload.wikimedia.org/wikipedia/commons/thumb/c/c0/Robert_De_Niro_KVIFF_portrait.jpg/1200px-Robert_De_Niro_KVIFF_portrait.jpg - cannot identify image file <_io.BytesIO object at 0x7fae297b5770>\n",
"Found 2 image links\n",
"Saved 2 images\n",
"Found 2 image links\n",
"Saved 2 images\n",
"Found 2 image links\n",
}
],
"from selenium import webdriver\n",
"from selenium.webdriver.firefox.options import Options\n",
"from Image_crawling import Image_crawling\n",
"queries = [\"brad pitt\",\"johnny depp\", \"leonardo dicaprio\", \"robert de niro\", \"angelina jolie\", \"sandra bullock\", \"catherine deneuve\", \"marion cotillard\"]\n",
"#queries = [\"Bart Simpson\",\"Homer Simpson\"]\n",
"download_folder = \"./brandnew_images/train/\"\n",
"waittime = 0.1 # Time to wait between actions, depends on the number of pictures you want to crawl. More pictures means you need to wait longer for them to load. \n",
"# Set options\n",
"options = webdriver.FirefoxOptions()\n",
"options.add_argument('--headless')\n",
"# Create Driver\n",
"driver = webdriver.Firefox(options=options, executable_path=\"/usr/bin/geckodriver\")\n",
"# create instance of crawler\n",
"image_crawling = Image_crawling(driver, waittime=waittime)\n",
"for query in queries:\n",
" # Craws image urls:\n",
" image_urls = image_crawling.fetch_image_urls(query, limit)\n",
" \n",
" # download images\n",
" image_crawling.download_image(download_folder + query)\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "CRHl9UX6GhIs"
},
"source": [
"Please check carefully the downloaded images, there may be a lot of garbage! You definitely need to \n",
"clean the data.\n",
"\n",
"In the following, you will apply data augmentation to your data set."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {},
"colab_type": "code",
"id": "3SX21FtcGhIu"
},
"outputs": [],
"source": [
"# General imports\n",
"import tensorflow as tf\n",
"tf.compat.v1.enable_eager_execution(\n",
" config=None, device_policy=None, execution_mode=None\n",
")\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# Shortcuts to keras if (however from tensorflow)\n",
"from tensorflow.keras.preprocessing.image import ImageDataGenerator\n",
"from tensorflow.keras.models import Sequential\n",
"from tensorflow.keras.layers import Conv2D, MaxPooling2D\n",
"from tensorflow.keras.layers import Activation, Dropout, Flatten, Dense\n",
"from tensorflow.keras.callbacks import TensorBoard \n",
"\n",
"# Shortcut for displaying images\n",
"def plot_img(img):\n",
" plt.imshow(img, cmap='gray')\n",
" plt.axis(\"off\")\n",
" plt.show()\n",
" \n",
"# The target image size can be fixed here (quadratic)\n",
"# the ImageDataGenerator() automatically scales the images accordingly (aspect ratio is changed)\n",
"image_size = 150"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {},
"colab_type": "code",
"id": "rN_Mp1rmGhI1",
"outputId": "6417b1f9-e7d4-4d56-a213-191f9d17524a"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0.], dtype=float32)"
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Class ImageDataGenerator() returns an iterator holding one batch of images\n",
"# the constructor takes arguments defining the different image transformations\n",
"# for augmentation purposes (rotation, x-/y-shift, intensity scaling - here 1./255 \n",
"# to scale range to [0, 1], shear, zoom, flip, ... )\n",
"\n",
"class_names = [\"angelina jolie\", \"brad pitt\",\"catherine deneuve\" , \"johnny depp\",\"leonardo dicaprio\", \"marion cotillard\", \"robert de niro\",\"sandra bullock\"]\n",
"\n",
"\n",
"\n",
"train_datagen = ImageDataGenerator(\n",
" rotation_range=10,\n",
" width_shift_range=0.2,\n",
" height_shift_range=0.2,\n",
" rescale=1./255,\n",
" shear_range=0.2,\n",
" zoom_range=0.2,\n",
" horizontal_flip=True,\n",
" fill_mode='nearest')\n",
"\n",
"\n",
"dir_iter = train_datagen.flow_from_directory('./train/', \n",
" target_size=(image_size, image_size),\n",
" classes=class_names,\n",
" batch_size=25, class_mode='sparse', shuffle=False)\n",
"\n",
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "V2fYccc8GhJF"
},
"source": [
"Before you continue, you need to split the downloaded images into a `train` folder and into a `validation` folder."
]
},
{
"cell_type": "raw",
"metadata": {
"colab_type": "raw",
"id": "VamXG4FoGhJH"
},
"source": [
"./\n",
"├── train\n",
"│ ├── brad pitt\n",
"│ └── johnny deep\n",
"| ├── leonardo di caprio\n",
"| └── ...\n",
"│ \n",
"└── validation\n",
" ├── brad pitt\n",
" ├── johnny deep\n",
" ├── leonardo di caprio\n",
" └── ..."
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "9322su6vGhJJ"
},
"source": [
"If you want to use the example of this jupyter notebook, you can use the images provided in the ./train and ./validation folders."
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "xPqJWgeAGhJL"
},
"source": [
"## Define a ConvNet Model"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {},
"colab_type": "code",
"id": "UuJV4JBKGhJO"
},
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
"source": [
"batch_size = 20\n",
"num_train_images = 480\n",
"num_valid_images = 80\n",
"num_classes = 8\n",
"\n",
"model_scratch = Sequential()\n",
"model_scratch.add(Conv2D(32, (3, 3), input_shape=(image_size, image_size, 3)))\n",
"model_scratch.add(Activation('relu'))\n",
"model_scratch.add(MaxPooling2D(pool_size=(2, 2)))\n",
"\n",
"model_scratch.add(Conv2D(32, (3, 3)))\n",
"model_scratch.add(Activation('relu'))\n",
"model_scratch.add(MaxPooling2D(pool_size=(2, 2)))\n",
"\n",
"model_scratch.add(Conv2D(64, (3, 3)))\n",
"model_scratch.add(Activation('relu'))\n",
"model_scratch.add(MaxPooling2D(pool_size=(2, 2)))\n",
"\n",
"# this converts our 3D feature maps to 1D feature vectors\n",
"model_scratch.add(Flatten()) \n",
"model_scratch.add(Dense(64))\n",
"model_scratch.add(Activation('relu'))\n",
"model_scratch.add(Dropout(0.5))\n",
"model_scratch.add(Dense(num_classes))\n",
"model_scratch.add(Activation('softmax'))\n",
"\n",
"model_scratch.compile(loss='categorical_crossentropy',\n",
" optimizer='adam',\n",
" metrics=['accuracy'])\n",
"\n"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {},
"colab_type": "code",
"id": "JFdkIokMGhJT",
"outputId": "63e7d032-4083-4fe0-d970-c10bf0c39a94"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
]
}
],
"source": [
"# This is the augmentation configuration we will use for training\n",
"train_datagen = ImageDataGenerator(\n",
" rescale=1./255,\n",
" shear_range=0.2,\n",
" zoom_range=0.2,\n",
" horizontal_flip=True)\n",
"\n",
"# This is the augmentation configuration we will use for validation:\n",
"# only rescaling\n",
"validation_datagen = ImageDataGenerator(rescale=1./255)\n",
"\n",
"# This is a generator that will read pictures found in\n",
"# subfolers of './train', and indefinitely generate\n",
"# batches of augmented image data\n",
"train_generator = train_datagen.flow_from_directory(\n",
" './train', # this is the target directory\n",
" target_size=(image_size, image_size), # all images will be resized to 150x150\n",
" classes=class_names,\n",
" batch_size=batch_size) \n",
"\n",
"# This is a similar generator, for validation data\n",
"validation_generator = validation_datagen.flow_from_directory(\n",
" './validation',\n",
" target_size = (image_size, image_size),\n",
" classes = class_names,\n",
" batch_size = batch_size)"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {},
"colab_type": "code",
"id": "cytHiQUTGhJb"
},
"outputs": [],
"source": [
"logdir = os.path.join(\"logs\", datetime.datetime.now().strftime(\"%Y%m%d-%H%M%S\"))\n",
"tensorboard_callback = tf.keras.callbacks.TensorBoard(logdir, histogram_freq=1)"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {},
"colab_type": "code",
"id": "C7dCbyXPGhJg",
"outputId": "98b4085e-ed6d-43e2-831f-aec32161583f"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/opt/conda/lib/python3.7/site-packages/PIL/Image.py:952: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n",
" \"Palette images with Transparency expressed in bytes should be \"\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"24/24 [==============================] - 33s 1s/step - loss: 2.1169 - accuracy: 0.1042 - val_loss: 2.0758 - val_accuracy: 0.1125\n",
"24/24 [==============================] - 29s 1s/step - loss: 2.0751 - accuracy: 0.1375 - val_loss: 2.0525 - val_accuracy: 0.1375\n",
"24/24 [==============================] - 29s 1s/step - loss: 2.0318 - accuracy: 0.1854 - val_loss: 1.9808 - val_accuracy: 0.2000\n",
"24/24 [==============================] - 28s 1s/step - loss: 1.9467 - accuracy: 0.2313 - val_loss: 1.9039 - val_accuracy: 0.2750\n",
"24/24 [==============================] - 29s 1s/step - loss: 1.8800 - accuracy: 0.2979 - val_loss: 1.7726 - val_accuracy: 0.3250\n",
"24/24 [==============================] - 29s 1s/step - loss: 1.7388 - accuracy: 0.3292 - val_loss: 1.7299 - val_accuracy: 0.4000\n",
"24/24 [==============================] - 29s 1s/step - loss: 1.6714 - accuracy: 0.3708 - val_loss: 1.6677 - val_accuracy: 0.4000\n",
"24/24 [==============================] - 29s 1s/step - loss: 1.6361 - accuracy: 0.4021 - val_loss: 1.7391 - val_accuracy: 0.3875\n",
"24/24 [==============================] - 29s 1s/step - loss: 1.5418 - accuracy: 0.4146 - val_loss: 1.6107 - val_accuracy: 0.4625\n",
"24/24 [==============================] - 28s 1s/step - loss: 1.5107 - accuracy: 0.4396 - val_loss: 1.6142 - val_accuracy: 0.4000\n",
"24/24 [==============================] - 28s 1s/step - loss: 1.3988 - accuracy: 0.5104 - val_loss: 1.5144 - val_accuracy: 0.5125\n",
"24/24 [==============================] - 27s 1s/step - loss: 1.3385 - accuracy: 0.5208 - val_loss: 1.5094 - val_accuracy: 0.5375\n",
"24/24 [==============================] - 27s 1s/step - loss: 1.3107 - accuracy: 0.5250 - val_loss: 1.5407 - val_accuracy: 0.4875\n",
"24/24 [==============================] - 28s 1s/step - loss: 1.2837 - accuracy: 0.5437 - val_loss: 1.4935 - val_accuracy: 0.4375\n",
"24/24 [==============================] - 29s 1s/step - loss: 1.2692 - accuracy: 0.5396 - val_loss: 1.4885 - val_accuracy: 0.4875\n",
"24/24 [==============================] - 29s 1s/step - loss: 1.1647 - accuracy: 0.5854 - val_loss: 1.6430 - val_accuracy: 0.4750\n",
"24/24 [==============================] - 28s 1s/step - loss: 1.1185 - accuracy: 0.5917 - val_loss: 1.5659 - val_accuracy: 0.4750\n",
"24/24 [==============================] - 27s 1s/step - loss: 1.1576 - accuracy: 0.5688 - val_loss: 1.6319 - val_accuracy: 0.3875\n",
"24/24 [==============================] - 28s 1s/step - loss: 1.0591 - accuracy: 0.6042 - val_loss: 1.6289 - val_accuracy: 0.4125\n",
"24/24 [==============================] - 30s 1s/step - loss: 1.0303 - accuracy: 0.6021 - val_loss: 1.6916 - val_accuracy: 0.4500\n"
]
}
],
"source": [
"history = model_scratch.fit(\n",
" train_generator,\n",
" steps_per_epoch = num_train_images // batch_size,\n",
" epochs = 20,\n",
" validation_data = validation_generator,\n",
" validation_steps = num_valid_images // batch_size,\n",
" callbacks = [tensorboard_callback])"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {},
"colab_type": "code",
"id": "wt_ONw5PGhJm",
"outputId": "e75d8a73-da49-4dbe-ffcf-7cb316be39a2"
},
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEWCAYAAABrDZDcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/d3fzzAAAACXBIWXMAAAsTAAALEwEAmpwYAAA62klEQVR4nO3dd3hUZfbA8e9JT0gIAULohE6AUANSBEHpCojSVFABRdS1rOVnW3vZousqgogKKiqIIgiKLtJ77723UJLQkkB68v7+uAMbIAkpU5LM+TxPnkzufe/cM5OZOXPfKsYYlFJKuS8PVweglFLKtTQRKKWUm9NEoJRSbk4TgVJKuTlNBEop5eY0ESillJvTRKBUPonI1yLyTj7LHhGRbkW9H6WcQROBUkq5OU0ESinl5jQRqFLFViXzvIhsE5FLIjJJRMJE5A8RSRSRBSISkq18PxHZKSIXRGSJiERk29dSRDbZjpsO+F1zrjtEZIvt2FUi0qyQMT8sIgdE5JyIzBGRqrbtIiL/EZFYEUkQke0i0tS2r4+I7LLFdkJEnivUE6YUmghU6XQ30B1oAPQF/gBeBkKxXvNPAohIA2Aa8LRt3+/AryLiIyI+wC/At0B54Cfb/WI7tiUwGXgEqABMBOaIiG9BAhWRW4G/A4OBKsBR4Afb7h5AZ9vjCLaVOWvbNwl4xBgTBDQFFhXkvEplp4lAlUafGGNijDEngOXAWmPMZmNMCjALaGkrNwSYa4yZb4xJBz4A/IEOQDvAG/jIGJNujJkBrM92jtHARGPMWmNMpjHmGyDVdlxB3AdMNsZsMsakAi8B7UUkHEgHgoBGgBhjdhtjTtmOSwcai0hZY8x5Y8ymAp5XqSs0EajSKCbb7eQc/g603a6K9Q0cAGNMFnAcqGbbd8JcPSvj0Wy3awHP2qqFLojIBaCG7biCuDaGi1jf+qsZYxYB44DxQKyIfC4iZW1F7wb6AEdFZKmItC/geZW6QhOBcmcnsT7QAatOHuvD/ARwCqhm23ZZzWy3jwPvGmPKZfsJMMZMK2IMZbCqmk4AGGPGGmNaA42xqoiet21fb4zpD1TCqsL6sYDnVeoKTQTKnf0I3C4it4mIN/AsVvXOKmA1kAE8KSLeInIX0DbbsV8AY0TkJlujbhkRuV1EggoYwzRghIi0sLUvvIdVlXVERNrY7t8buASkAFm2Noz7RCTYVqWVAGQV4XlQbk4TgXJbxpi9wDDgE+AMVsNyX2NMmjEmDbgLeBA4h9WeMDPbsRuAh7Gqbs4DB2xlCxrDAuBV4Gesq5C6wFDb7rJYCec8VvXRWeB9277hwBERSQDGYLU1KFUoogvTKKWUe9MrAqWUcnOaCJRSys1pIlBKKTeniUAppdycl6sDKKiKFSua8PBwV4ehlFIlysaNG88YY0Jz2lfiEkF4eDgbNmxwdRhKKVWiiMjR3PZp1ZBSSrk5TQRKKeXmNBEopZSbK3FtBEopVVDp6elER0eTkpLi6lAczs/Pj+rVq+Pt7Z3vYzQRKKVKvejoaIKCgggPD+fqCWVLF2MMZ8+eJTo6mtq1a+f7OK0aUkqVeikpKVSoUKFUJwEAEaFChQoFvvLRRKCUcgulPQlcVpjH6TaJIDYhhfd+301MQumvI1RKqYJwm0Sw+tBZJq04TKd/Lualmds5evaSq0NSSrmJCxcu8Omnnxb4uD59+nDhwgX7B3QNt0kE/VtUY8lzXRjcpjo/b4qm6wdLeHLaZvacTnB1aEqpUi63RJCRkZHncb///jvlypVzUFT/41a9hmqUD+CdOyN58tb6TFpxmO/WHGXO1pN0i6jEY13r0apmiKtDVEqVQi+++CIHDx6kRYsWeHt74+fnR0hICHv27GHfvn3ceeedHD9+nJSUFJ566ilGjx4N/G9KnYsXL9K7d29uvvlmVq1aRbVq1Zg9ezb+/v52ia/ErVAWFRVl7DXXUHxSOt+sPsLklYe5kJROuzrlebxrPW6uV9FtGpaUcge7d+8mIiICgDd/3cmuk/atCWhctSyv922S6/4jR45wxx13sGPHDpYsWcLtt9/Ojh07rnTxPHfuHOXLlyc5OZk2bdqwdOlSKlSocFUiqFevHhs2bKBFixYMHjyYfv36MWzYsBs+3stEZKMxJiqn8m5TNZST4ABvnrytPitfuJW/3R7B4TOXGD5pHf3Hr+S/O06TlVWykqRSqmRo27btVf38x44dS/PmzWnXrh3Hjx9n//791x1Tu3ZtWrRoAUDr1q05cuSI3eJxq6qh3JTx9eKhTnUY3r4WszadYMLSg4z5biP1KgXy6C116deiKt6ebp0zlSo18vrm7ixlypS5cnvJkiUsWLCA1atXExAQQJcuXXIcB+Dr63vltqenJ8nJyXaLx30+3TJSITUxzyK+Xp4MbVuThc/cwth7WuLlITz701a6vL+EKauPkJKe6aRglVKlSVBQEImJOX/+xMfHExISQkBAAHv27GHNmjVOjs6drggOLoLpw6BaFNS5Bep0sW57+VxX1MvTg37Nq9K3WRUW741l3KIDvDZ7J2MX7ufhTnUY1q4WZXzd56lTShVNhQoV6NixI02bNsXf35+wsLAr+3r16sVnn31GREQEDRs2pF27dk6Pz30ai+P2wbYf4NASOLkZTBZ4l4FaHaykUOcWqNQEPK6/SDLGsPbwOcYtOsCKA2cICfDmoU51uL99LYL88j+xk1LKNXJqPC3NCtpY7D6JILvkC3BkhZUUDi+FM/us7QEVoXZnW2LoAiG1rjt007HzfLJwP4v3xhHs783IjrV5sGM4wf6aEJQqrjQRaCK4sfgTcHiZlRgOLYGLp63tIeH/SwrhnaFMhSuHbIu+wNiFB1iwO4YgXy9GdAxn5M21KRdwfVWTUsq1NBFoIigYY6wrhENL4NBSOLIcUm19jqu2gr4fQZXmV4rvPBnPuEUH+GPHacr4eHJ/h3Aeurk2FQJ9c7x7pZTzaSLQRFA0mRlwagscWgwbvoKkc3DneGh691XF9p5O5JNF+5m7/RR+Xp4Ma1eThzvXoVKQn/NiVUrlSBOBDigrGk8vqB4FnZ+H0Uusq4EZI2HhW5CVdaVYw8pBjLu3FfP/2pleTStfmeDuzV93cjpeZzxVShVfmggKIrASPPArtHoAlv8bfrgXUq4eql6vUhD/GdKChc92oV/zqkxZfZTO/1rMq7/s4MQF+w0AUUope9FEUFBePtD3Y+jzAez/E77sBmcPXlesdsUyvD+oOYuf7cLdravxw/pjdH1/CX9sP+WCoJVSJUlgYCAAJ0+eZODAgTmW6dKlC/aqJtdEUBgi0PZhuH82XIqDL7rCgYU5Fq1ZIYC/39WMJc93JbJ6MH+ZtpnZW044OWClVElUtWpVZsyY4fDzaCIoitqdYPRiKFsdvh8Iq8dbvY5yUK2cP1NGtqVNeAhPT9/Cj+uPOzlYpZSrvPjii4wfP/7K32+88QbvvPMOt912G61atSIyMpLZs2dfd9yRI0do2rQpAMnJyQwdOpSIiAgGDBhg17mGHDZPgojUAKYAYYABPjfGfHxNGQE+BvoAScCDxphNjorJIULCYdSf8MsYmPcynN4Bd/wHvK/vLVTG14uvHmzL6G838H8/byM1M4vh7a4ftKaUcqA/XoTT2+17n5Ujofc/ct09ZMgQnn76aR5//HEAfvzxR+bNm8eTTz5J2bJlOXPmDO3ataNfv365ToE/YcIEAgIC2L17N9u2baNVq1Z2C9+RVwQZwLPGmMZAO+BxEWl8TZneQH3bz2hgggPjcRzfQBg0Bbq8DFunwte3Q0LObQH+Pp58+UAU3SIq8eovO/hy+SEnB6uUcraWLVsSGxvLyZMn2bp1KyEhIVSuXJmXX36ZZs2a0a1bN06cOEFMTEyu97Fs2bIr6w80a9aMZs2a2S0+h10RGGNOAadstxNFZDdQDdiVrVh/YIqxBjOsEZFyIlLFdmzJ4uEBXV6AsMYw8xH4vAsM/d7qenoNXy9PPr2vNU9P38w7c3eTmpHF413rOT9mpdxRHt/cHWnQoEHMmDGD06dPM2TIEL7//nvi4uLYuHEj3t7ehIeH5zj9tDM4pY1ARMKBlsDaa3ZVA7JXlkfbtpVcEX3hofng5Qtf9YEt03Is5uPlwdihLbmzRVXen7eXD//cS0kb3KeUyr8hQ4bwww8/MGPGDAYNGkR8fDyVKlXC29ubxYsXc/To0TyP79y5M1OnTgVgx44dbNu2zW6xOXwuZREJBH4GnjbGFGp9OBEZjVV1RM2aNe0YnYOENbEGn/30gNV2ELMDur1pDU7LxsvTg38PboGvlydjFx0gJSOLl3o30mUylSqFmjRpQmJiItWqVaNKlSrcd9999O3bl8jISKKiomjUqFGexz/66KOMGDGCiIgIIiIiaN26td1ic+gUEyLiDfwGzDPGfJjD/onAEmPMNNvfe4EueVUNOX2KiaLITId5r8C6iVD3Vhg4GfxDriuWlWV4fc5Ovl1zlAfa1+L1vk3w8NBkoJS96BQTLppiwtYjaBKwO6ckYDMHuF8s7YD4Etk+kBtPb+jzL+j3CRxeDl/cCmcOXFfMw0N4q38THu5Um29WH+XlWdt1vWSllNM4smqoIzAc2C4iW2zbXgZqAhhjPgN+x+o6egCr++gIB8bjOq3uh4oN4If7YFI3uOcHqHn1KkQiwst9IvDz9uSTRQdIy8jiXwOb4aVrJSulHMyRvYZWAHnWb9h6Cz3uqBiKlZrtrEbk7wbCN/3gronQZMBVRUSEZ3s0xNfLgw/+3EdqRhYfDW2BtyYDpYrMGOMW7W+Fqe7XTxhnKl8HHloAVVvCTw/CyrE5jkT+y631eaVPBHO3n+Kx7zeRmpHp/FiVKkX8/Pw4e/Zsqe+ZZ4zh7Nmz+PkVbPp7XYHd2QLKW3MUzXoE5r8KF45B73+Ch+dVxR7uXAdfbw9em72T0VM2MnF4a/y8PXO5U6VUXqpXr050dDRxcXGuDsXh/Pz8qF69eoGO0UTgCt5+MPArWFATVo2F+GgYOAl8ylxV7P724fh6efDizO2M+Go9Xz4QRRlf/ZcpVVDe3t7Url3b1WEUW1o15CoeHtDjbdt01vOsaSkSrx9ePqRNTT4c3Jy1h8/ywOR1nL+U5oJglVKlmSYCV2v7MAydCnF7rR5FcXuvKzKgZXXG3duKbdHx3D52OZuOnXdBoEqp0koTQXHQsDc8OBfSk2FSdziy8roifSKrMOPR9nh4CIM/W82Xyw+V+oYvpZRzaCIoLqq1snoUBYbBt3fC9usXo2hWvRxzn+hE10aVeGfubh75diPxyenOj1UpVapoIihOQsJh5Dyo3gZ+HgXLP7yue2lwgDefD2/N326PYNGeWO74ZDnbo+NdE69SqlTQRFDcBJSH4bOg6d2w8E347WnIzLiqiIjwUKc6TH+kPRmZhrsnrOLb1Ue0qkgpVSiaCIojL1+460u4+a+w8Wv44R5IvXhdsda1Qpj7ZCc61KvAq7N38sS0zSSmaFWRUqpgNBEUVx4e0O0Na9nLAwvg6z6QePq6YuXL+DD5gTY837Mhv28/Rb9xK9l1slCzfSul3JQmguIuaiTcM92atfTLbpBw8roiHh7C413rMfXhdlxKzWDApyuZvv6YVhUppfJFE0FJ0KAHjJgLl87AnCdznJ8IoF2dCsx9shNR4SG88PN2nv1pK0lpGTmWVUqpyzQRlBRVW0L3N+HAfNj8Xa7FQoN8mTLyJp66rT6zNp+g/7iV7I9JdGKgSqmSRhNBSdLmYah1M8x72ZqfKBeeHsJfuzdgysi2nLuURr9xK5m1OffySin3pomgJPHwgP7jICsT5jyRaxXRZZ3qh/L7U52IrBbMX6dv5aWZ20jPzHJSsEqpkkITQUlTvrZVRXRwEWz65obFw8r6MfXhmxhzS12mrTvOxKUHnRCkUqok0URQEkWNgtqdYd4r1noGN+Dl6cGLvRvRJ7Iynyw6wJEzl5wQpFKqpNBEUBJ5eEC/cdbt2X+5YRXRZa/3bYK3pwevzt6hXUuVUldoIiipQmpZ6xkcXgobJufrkLCyfjzfsyHL959hztbrxyMopdyTJoKSrPUIqNMF/nwVzh/J1yHD2tWiefVg3v5tF/FJOh2FUkoTQckmYlURiYdVRZR14x5Bnh7Ce3dFcj4pnX/8d48TglRKFXeaCEq6cjWg13twZDlsmJSvQ5pUDWZEh3CmrTvGhiPnHBygUqq400RQGrQcDvW6wfzX4NyhfB3y1+4NqBrsxyuzdujYAqXcnCaC0kAE+o4FD+98VxGV8fXirf5N2RuTyBfL85c8lFKlkyaC0iK4GvT6OxxdCes+z9ch3RqH0bNJGGMX7ufY2SQHB6iUKq40EZQmLe6F+j1hwRtwNn8jiN/o1wRPEf6mYwuUcluaCEoTEej7EXj5wC+PWXMS3UCVYH+e69mQZfvi+G3bKcfHqJQqdhyWCERksojEisiOXPYHi8ivIrJVRHaKyAhHxeJWylaF3v+C42tgzYR8HXJ/+3AiqwXz1m+7iE/WsQVKuRtHXhF8DfTKY//jwC5jTHOgC/BvEfFxYDzuo9kQaNgHFr0NZ/bfsLinh/DegEjOXkzl/Xk6tkApd+OwRGCMWQbk1UndAEEiIkCgrawup2UPItZax15+8Muj+aoiiqwezIMdavP92mNsOnbeCUEqpYoLV7YRjAMigJPAduApY0yO/R5FZLSIbBCRDXFxcc6MseQKqgx9PoDo9bB6XL4OeaZHAyqX9ePlmdt1bIFSbsSViaAnsAWoCrQAxolI2ZwKGmM+N8ZEGWOiQkNDnRdhSRc5EBrdAYvehbi9Nywe6OvFG/2asOd0IpNXHHZCgEqp4sCViWAEMNNYDgCHgUYujKf0uVxF5FPGqiLKvHHNW88mleneOIyPFuzn+DkdW6CUO3BlIjgG3AYgImFAQ0CHuNpbYCW4/QM4sRFWjc3XIW/2a4IIvKZjC5RyC47sPjoNWA00FJFoERklImNEZIytyNtABxHZDiwEXjDGnHFUPG6tyV3QuD8s+Tus+A+kJuZZvGo5f57p3oDFe+P4Y8dpJwWplHIVKWnf+KKiosyGDRtcHUbJc+kszHoEDswHv3LQ7jG4aTT4h+RYPCMzi/7jVxKXmMqCZ2+hrJ+3c+NVStmViGw0xkTltE9HFruLMhVg2Ax4eDHU6ghL3oP/RMKCN+HS9RdiXp4evDcgkriLqfx73o0bmpVSJZcmAndTrRXcMxXGrIT63a2qoo8iYd4rkHh1NVDzGuV4oH04U9YcZevxC66JVynlcJoI3FXlpjDoK3h8ndV+sGYCfNQM5j4HF45fKfZsjwZUCvLlpZnbydCxBUqVSpoI3F1oAxjwGTyxEVrcAxu/hrEtrHUNzh4kyM+bN/o2YdepBL5edcTFwSqlHEETgbKUrw19P4antkDUKNj+E4yLgpmj6RUWz22NKvHh/H3sOBHvmvhOb4cf78/X3ElKqYLRRKCuFlwd+vwLntoG7R+H3b8hn7ZjnPdHtPGN5q4Jq5i69phzxxfsnAWTesCu2fDzKMjUGVKVsidNBCpnQWHQ4x14ejt0fg7/Y8v4Jv1ZxpWbxpuzNvLsj1tJSnPwHIFZWbDwLfjpQQhrCrd/CKe2wrL3HXtepdyMJgKVtzIV4Na/WQnhpjH0uDibleXfYs/WVQwYv4qDcRcdc96UePjhHlj+b2g5HB78DdqMgub3wDLbSGmllF1oIlD5418Oev8Thv1MRY9L/Ob3Gj0TfqL/J8v4bdtJ+57rzAH44jY4sMCaQbXfJ+Dla+3r9Q9rZtWZj0B6sn3Pq5Sb0kSgCqZeN3h0NR4NevKMmcJU33/wztQFvDFnJ2kZduheun8+fHErJJ+D4b9A24etyfMu8y8H/cfD2f3WYDilVJFpIlAFV6YCDPkO+n1CJAdYXOZlYtf8wJDPV3PyQiG/pRtjDW77fhCE1ITRS6B2p5zL1u0KbR+BtRPg8LJCPwyllEUTgSocEWh1PzJmOf6VG/Cpz1gejPkHgz+ex9J9BVw8KC3J6g204A1oMgBG/gnlauZ9TLc3oEI9+OUxqz1BKVVomghU0VSoCyPnwS0v0M9jBT/J//HJ19/y4fx9ZGblo4vphWMwuSfsmAm3vQ4DJ4NPwI2P8wmAARMh4QT896WiPw6liru4fTecObiwNBGoovP0hq4vIyP+S1hZP370eRuvpe8yavIqzl5Mzf24Iyvg8y5w/ijc+yN0eubq9oAbqR4FNz8DW76HPXOL/DCUKpaMgQ2TYWJnh7WLaSJQ9lPzJjzGrEBaDOVJr1/46/EnGPPxj2w8eu7qcsbAui9gSn/wLw8PL4QGPQp3zltegMqRMOdJuKjrWatS5tIZ+OFe+O2vULMddH7OIafRRKDsy68scucEGPQNTfzOMCX9WWZ+8S6Tlh+yRiNnpMKvT8Lvz0Hd26wkULF+4c/n5QMDPofUBPjtaSvJKFUaHFgIEzpY3ah7vgfDZlpdpx1AE4FyjCZ34vXYarxr3cS7Xl9S48+HeGfyz6ROuh02TYFOz8I908AvuOjnCmtsDXrb8xtsm170+1PKldJT4L8vw3d3WQtHPbzImu7Fw3Ef17pCmXKsrCzMmvFkzX8TT5NOkvFlUsXnqddlGN0ah+HtaacXd1YmfH07xOyEx1ZbcyYpVdLE7oafH4KYHdDmYejxNnj72+Wu81qhTBOBco7TO0ha9jEzffozfrc/p+JTCA3yZXBUdYa2qUmN8vnoKXQj5w7DhI5WI/LwXxz6DUopuzIG1n8Jf/4NfAKtQZMNe9n1FJoIVLGSmWVYsjeWaeuOsWhPLAboVD+Ue9vW4LaIIl4lbPjKaivo/b61JrNSxd3FOJj9GOz/E+p1hzs/hcBKdj+NJgJVbJ28kMz09ceZvv44pxNSqBTky+CoGgxpU6NwVwnGWKOTj6yAMcuL1hCtlKPtnw+/PAopCVY1UNvRBetCXQCaCFSxl5GZxZK9cUxbd4zFe62rhM71Q7mnbU1ui6hUsKuEhFPwaTvbYLc/wdPLYXErJ4rbB+Vq2K3O3KXSk2H+67BuIlRqDHdPsjo9OJAmAlWinLiQzI/XXCUMaWNdJVQPyedVwo6fYcZIqzdR5+cdG7ByvJNb4Iuu1piRe390WDdKp4jZaTUIx+6Cmx61pkvx9nP4aTURqBIpIzOLxdmuEgT4x93NGBxVI393MGOktarZw4ugSnOHxqocyBirR1jsLshIg4AKcN9PUKmRc+OI2QVJZ8DLz/rx9remR/fytz7IvfysUfa5ycqyrgDmv251m75zAtTv5rTwNRGoEu/EhWRe/HkbKw+cYfy9regdWeXGByWdg0/bW32xRy9xyrcu5QC7ZlvrVd/xEVRtCVMHQ0YKDJ0K4Tc7/vyZ6dZKeavG3riseOacILz8ID3JSmYNekG/cRAY6vjYs4emiUCVBklpGQyftI7t0fFMejCKTvXz8UbaPx++HwgdnrQa41TJkp4C49uCbxA8sgw8PK2JCr8bCOcPW9+qIwc67vzx0fDTCIheB61HWOdKT4GMZGuUfHqylZTSbX9nJNv2p1y/PTPdml03aqTDGoTzklci0FY0VWIE+Hgx+YE2DPl8NaOnbOS7h26ida2QvA+q3x1aPwirPoGGvaFWh8KdPDMdsjJKR0NlSbJ2Alw4CvfPtpIAWFOUj5oHPwyzpi+PPw4dn7b/h+u+eTDrEet/f/ckxyYcF3PYFYGITAbuAGKNMU1zKdMF+AjwBs4YY2650f3qFYGKS0xl0GerOHcpjemPtCeiStm8D0i9CJ91tOqao0Za39LSL9l+J1uX7Jd/pyVds81WNisDPLyspTLbPuycB+ruEmPgk9bWAkX3TLt+f0aqtR7FjhnW/7X3+/bpIZaZDovehpUfQ1gkDP7G6oFWwrmkakhEOgMXgSk5JQIRKQesAnoZY46JSCVjTOyN7lcTgQKIPp/EwAmrycgy/DSmPbUrlsn7gKOr4bu7rQ91sNXf+oN3gLW2weXbV35fs80nAI6shENLYMi3ENHX4Y/R7c15ArZMg8fX5v5BnJUFi96yVrer39Naz8I3sPDnjI+2OhkcXwtRo6zJ3kpJ21KRE4GIPAV8BSQCXwItgReNMX/e4Lhw4LdcEsFjQFVjzN9uGEA2mgjUZQdiExk8cQ3+3p7MeLQ9VYJvUG2TnmxdFXj5FW76ibQkmNIPTm+HB36FGm0LF7i6sVPbrPn32z8OPd+9cfn1k6wZbSs3s3UvDSv4ObNXBfX9uNRVBeWVCPL7bhhpjEkAegAhwHDgH0WMqwEQIiJLRGSjiNyfW0ERGS0iG0RkQ1yczjmvLPUqBfHNiLbEJ6czfNI6zl1Ky/uAy9/sCzsHkU8A3PMDlK0KU4fAmQOFux+VN2Ng3stWb6/8jgFpMwqGToMz+2BSN4jbm//zZabD/Nes3khlq1uN0qUsCdxIft8Rl1th+gDfGmN2ZttWWF5Aa+B2oCfwqog0yKmgMeZzY0yUMSYqNNS5Xa5U8RZZPZgvH4ji+LkkHpi8jsSUdMeesExFGPYziAd8f7cuhuMIe+bCkeVw6yvgXy7/xzXsBQ/OtXrtTOphVeXdSHy0NUZh5cdWVdBDC0pFe0BB5TcRbBSRP7ESwTwRCQKyinjuaGCeMeaSMeYMsAzQUT+qwNrVqcCn97Vi96kEHvpmAynpmY49Yfk6VvVDYoz1LTLtkmPP504yUq0ZOEMjoNWDBT++Wit4aL41adu3d8L2GbmX3fcnfHazNdL37klwx4elpj2goPKbCEYBLwJtjDFJWL18RhTx3LOBm0XES0QCgJuA3UW8T+WmbosI49+Dm7PuyDke/34T6ZlF/Z5yA9Vbw6Cv4NQWq3ExM8Ox53MXayda4wN6vVf4HkAh4TByHlSLsrqXrvz46pXrrlQFDXLbqqBr5TcRtAf2GmMuiMgw4G9AfF4HiMg0YDXQUESiRWSUiIwRkTEAxpjdwH+BbcA64EtjzI7CPhCl+reoxlv9m7JwTyzP/bSVrCwHD5Zs2Bv6fAD7/gu/P6vLZBbVxThY9r7V+6furUW7r4DyMHwWNLnL+tD//TkrWV9VFTTSbauCrpXflDsBaC4izYFnsXoOTQFy7fdvjLnnRndqjHkfeD+fMSh1Q8Pb1SIhOZ335+0lyM+Lt/s3RRw5irPNKOvDZcWHEFzDYYuLu4XF71rjN3q8Y5/78/azqnzK1bA++OP2WtVAmWmlfoBYQeU3EWQYY4yI9AfGGWMmicgoRwamVGE91qUuCcnpTFx2iGB/b57v6eDJyW57DRJOWIOQgqtD86GOPV9pdHoHbPoG2j4CoTn2GSkcDw/o/paVpP/4P6jUpNQMELOn/CaCRBF5CavbaCcR8cBqJ1Cq2BERXuzdiISUdMYvPkiwvzejOzvwjS9iTSKWeApmPw6BYVC3q+POV9pc7i7qFwy3/J9jztH2YWu6kaAq1oRw6ir5bSMYAqRijSc4DVRHq3RUMSYivHNnJLc3q8J7v+/hh3XHHHtCLx8Y8h1UbAjTh1uDzlT+7P0DDi+FLi9bdfuOEhKuSSAX+UoEtg//74FgEbkDSDHGTHFoZEoVkaeH8J/BLbilQSgvzdrO3G2nHHtCv2BrnnzfIGu5zPhox56vNMhIgz9fsRJoVFE7IqrCylciEJHBWD17BgGDgbUioi0tqtjz8fLgs2GtaV0zhKenb+almdtYc+is43oUBVeDYTOssQXfDYTkC445T0Gkp8CuOfDrU7BzVvHq3bT+Czh3yJrTJ69FXZRD5Xeuoa1A98uTwolIKLDAGOP0AWA615AqjPjkdN78dSf/3XGapLRMqgT70a95Vfq1qErjKmXt37Po0FJrkrua7ayRyM6uksjKhCMrYPtPVhJIjQdPH6vHTNVW1vKIdW442a9jXToLY1taczYNy2Pgl7ILe0w6t90YE5ntbw9ga/ZtzqKJQBVFUloG83fFMHvLSZbtiyMjy1C/UiD9W1Slf4tq1CifzzWR82PbjzDzYWg6EO76ovBzHOWXMXB6m3XeHTMh8ST4BFozpUYOgvBOVmJY/B4kRFt99bu94bplPOc+Cxu+gsdWQ2hD18TgRuyRCN4HmgGXJwUfAmwzxrxgtyjzSROBspdzl9KYu/0Uc7acYP2R8wC0rhVC/xZVuT2yChUC7fAtfvmHsPBNa+GU7m8W/f5ycv6I9QG/7Sc4sxc8vK0eMpEDoUFva7K87NJTrCqZZR9AygUrUd36ijV1hrPE7LLWiGjzEPTRfifOYJf1CETkbqCj7c/lxphZdoqvQDQRKEeIPp/EnK0nmb35JHtjEvH0EDrVr8idLarRvXEYZXwLOd2BMbZvvpOsUcj2WtTm0lnYOdNKAMfXWttqdoBmg6DxnfnrfZN8wRpotWYCZKVbI207P2/N0+NIxsC3A+DkJnhyi2N7CqkrdM1ipQpgz+kEftl8kl+3nuTEhWT8vT3p3jiMAS2r0aVhaMHbEzIzYPowayqKCnWtXkW+Za3ffsHX/G377Rt8zd9lrRlP9/3Xqvo5uNBaNS00wvrwjxxkLeFYGAmnYOk/YdMUa62GDn+B9n+xzu0I++ZZk/X1+ge0e9Qx51DXKXQiEJFEIKcCAhhjjINeKbnTRKCcJSvLsPHYeX7ZfIK5209xISmdx7vWLdxI5bRL1oftheOQmgCpidZPyuXbCeT8VstB2WpWtU/kYAhrYr+1es/st0ZH75oNARWg8/9ZXTrt2dCdmQ6ftgPEahvQnkJOo1cEShVRWkYWf/tlOz9uiObz4a3p0aSyfU+QlWUto5mSLUmkxl+dLNKToVZ7qwrIkQ3P0RthwevWmgDlakLXv1lXHPY455oJ8N8XrWm8G/Qs+v2pfNNEoJQdpKRnMmTiag7GXWL2XzpSN7QIa+MWd8ZY1U8L3rBGSYdFWnMq1Wpv9UQqzFVI0jkY2wKqtYZhM+13JaPyRROBUnZy8kIyd3yyggplfJj1eEcCC9uIXFJkZVmN0ovetnongdVW4XNN+8W17Rm+Za/fv+1H2DoVHl0FlSJc+rDckSYCpexo1YEzDJu0ll5NKzP+3laOnea6uMhIg91zIOHk/9o4UhJstxOub+/ISMn5fqJGWSuBKafLKxGU8q8zStlfh3oVeaFXI/7+xx6+WH7IsTObFhdePgWbvz8j7X9J4XKiSEuC2p0cF6MqNE0EShXC6M512Bp9gX/8sYemVYPpUK+iq0MqXrx8wKsClKng6khUPjh4zLtSpZOI8K+BzakTGshfpm3m5IVkV4ekVKFpIlCqkAJ9vZg4vDVpGVk8+t1GUtIzXR2SUoWiiUCpIqgbGsi/Bzdna3Q8b/6609XhKFUomgiUKqKeTSrzeNe6TFt33PEroSnlAJoIlLKDZ7o3pFP9irw2eydbjl9wdThKFYgmAqXswNNDGDu0JaFBvjz63UbOXEx1dUhK5ZsmAqXsJKSMDxOHt+bcpTSemLqZjMwsV4ekVL5oIlDKjppWC+bdAZGsPnSW9+ftdXU4SuWLJgKl7Gxg6+oMb1eLicsOMXfbKVeHo9QNaSJQygFevaMxrWqW4/kZW9kfk+jqcJTKkyYCpRzAx8uDT+9rTYCPF498u5GElHRXh6RUrhyWCERksojEisiOG5RrIyIZIlKAGa2UKv4qB/sx/t6WHD2XxLM/biUrq2TN9KvchyOvCL4GeuVVQEQ8gX8CfzowDqVc5qY6FXilTwTzd8UwYelBV4ejVI4clgiMMcuAczco9gTwMxDrqDiUcrURHcPp36IqH/y5l69XHtYrA1XsuKyNQESqAQOACfkoO1pENojIhri4OMcHp5QdiQh/vyuSWxqE8savu7h/8jqdrVQVK65sLP4IeMEYc8NRN8aYz40xUcaYqNDQUMdHppSdBfh48dWDbXh3QFM2HTtPz4+WMXNTNCVthUBVOrkyEUQBP4jIEWAg8KmI3OnCeJRyKBHhvptq8cdTnWhUOYhnftzKmO82clano1Au5rJEYIypbYwJN8aEAzOAx4wxv7gqHqWcpVaFMvwwuj0v92nE4j1x9PjPMubtPO3qsJQbc2T30WnAaqChiESLyCgRGSMiYxx1TqVKCk8PYXTnuvz6xM1UDvbjkW838uyPW3W8gXIJKWl1lFFRUWbDhg2uDkMpu0nLyGLcov2MX3KQsCBfPhjUXNdAVnYnIhuNMVE57dORxUq5mI+XB8/0aMjPj3bAz8eTe79cyxtzdpKcpktfKufQRKBUMdGiRjnmPtGJER3D+XrVEW4fu5zNx867OizlBjQRKFWM+Pt48nrfJkx96CZSM7K4e8IqPpi3l7QMXdtAOY4mAqWKoQ71KvLH0524u1V1xi0+wJ3jV7L3tM5iqhxDE4FSxVRZP2/eH9ScL+6PIjYxhb6frODxqZuYs/Ukidq7SNmRl6sDUErlrXvjMFrV7MxHC/bzx47TzN12Ch9PDzrUq0DPJpXpFhFGaJCvq8NUJZh2H1WqBMnMMmw+dp55O08zb2cMx84lIQJRtULo2aQyPZtUpkb5AFeHqYqhvLqPaiJQqoQyxrDndOKVpLD7VAIAEVXK0rNJGD2bVKZR5SBExMWRquJAE4FSbuDY2ST+3HWaeTtPs+HoeYyBmuUDriSFVjVD8PDQpOCuNBEo5WbiElNZsDuGeTtPs/LAGdIzDRUDfeneuBLdIsLoWK8ift6erg5TOZEmAqXcWGJKOov3xjFv52mW7o3jYmoG/t6edKpfke6Nw7i1USUqBGpjc2mXVyLQXkNKlXJBft70a16Vfs2rkpaRxZpDZ1mwO4b5u2L4c1cMHgKta4XQLSKM7o3DqBMa6OqQlZPpFYFSbsoYw86TCczfFcOC3THsPGk1NtcJLUP3xmF0jwijZc0QPLVdoVTQqiGl1A2duJDMAltSWH3wLBlZhgplfLi1USW6NQ6jU/2KBPhoJUJJpYlAKVUgCSnpLN0bx/xdMSzeG0tiSgY+Xh40qhxEvUqB1K8URIMw63f1EH/tjVQCaCJQShVaemYW6w6fY/GeWPacTmR/bCIxCf9bXtPP24O6oYHUrxRI/bDLiSKQmuUD8PLUWWyKC20sVkoVmrenBx3rVaRjtsVy4pPTORB7kQOxieyPucj+2IusP3KeX7acvFLGx9ODOqFlrlxBNKwcyK2NwvDx0uRQ3GgiUEoVWLC/N61rhdC6VshV2y+mZnAg9iL7YxKt37EX2Rp9gd+2nQKseZMmDmutVUnFjCYCpZTdBPp60aJGOVrUKHfV9qS0DL5dfZS//7GHf87bw0u9I1wToMqRJgKllMMF+HgxunMdos8nM3HpIeqGBjI4qoarw1I2WlmnlHIKEeH1vo3pVL8ir8zazppDZ10dkrLRRKCUchovTw/G3duKmuUDGPPdRo6cueTqkBSaCJRSThbs783kB9sgwMhv1hOfpKutuZomAqWU09WqUIaJw6M4fi6Jx6ZuJD0zy9UhuTVNBEopl2hbuzx/v6sZKw+c5fU5Oylpg1tLE+01pJRymYGtq3Mo7iKfLjlIvdBARt5c29UhuSVNBEopl3quR0MOxV3inbm7CK8YwK2NwlwdkttxWNWQiEwWkVgR2ZHL/vtEZJuIbBeRVSLS3FGxKKWKLw8P4cMhzWlctSxPTN3MntMJrg7J7TiyjeBroFce+w8DtxhjIoG3gc8dGItSqhgL8PHiy/vbEOjnxaivNxCXmHrjg5TdOCwRGGOWAefy2L/KGHPe9ucaoLqjYlFKFX+Vg/2Y9EAbzl1KY/S3G0hJz3R1SG6juPQaGgX8kdtOERktIhtEZENcXJwTw1JKOVPTasH8Z0gLNh+7wP/N2KY9iZzE5YlARLpiJYIXcitjjPncGBNljIkKDQ11XnBKKafr1bQyL/RqxJytJxm78ICrw3ELLu01JCLNgC+B3sYYnXhEKQXAmFvqcCD2Iv9ZsI/aoWXo17yqq0Mq1Vx2RSAiNYGZwHBjzD5XxaGUKn5EhPfuakrb8PI899NWNh07f+ODVKE5svvoNGA10FBEokVklIiMEZExtiKvARWAT0Vki4jo+pNKqSt8vTz5bHhrKpf1Y/SUDUSfT3J1SKWWrlmslCrWDsQmMuDTVVQr58+PY9pT1s/b1SGVSHmtWezyxmKllMpLvUpBfHpfK/bHXqTr+0uYtOKwdi21M00ESqlir1P9UGY+2oGIKmV5+7dd3PrBEqavP0aGE2YtjUtM5cP5+2j33kLGLtzv8PO5glYNKaVKlFUHzvCveXvZcvwCdSqW4a/dG3B7ZBU8PMSu59lzOoFJyw8ze8tJ0rOyqF2xDIfiLvHugKbcd1Mtu57LGfKqGtJEoJQqcYwxLNgdywfz9rI3JpHGVcryfM+GdGkYikjhE0JWlmHp/jgmLT/MigNn8Pf2ZGDr6ozoGE7N8gGM/nYjS/bGMmFYa3o2qWzHR+R4mgiUUqVSZpbh160n+XD+Po6dS6JNeAjP92xE29rlC3Q/yWmZzNwczeQVhzkYd4mwsr480CGce9vWpFyAz5VySWkZ3PPFWvacSuD7h24iKrxg53ElTQRKqVItPTOL6euPM3bhfmITU7mlQSjP92xI02rBeR4Xm5DClNVH+X7tUc4npdO0WlkeurkOfSKr4OOVcxPq2YupDPxsNecupfHzo+2pVynIEQ/J7jQRKKXcQkp6JlNWH+HTJQe5kJROn8jKPNO9IfUqBV5VbufJeCatOMyvW0+SkWXoHhHGqJtr07Z2+XxVLR07m8RdE1bh6+XBzMc6EFbWz1EPyW40ESil3EpCSjpfLj/MpOWHSE7P5O5W1Xnytvrsi0nky+WHWX3oLAE+ngyOqsGDHcIJr1imwOfYcSKeIRNXU6N8QIkY36CJQCnlls5eTGXCkoNMWXOUtAyrq2mVYD8e7BDO0LY1CfYv2of38v1xjPhqPVHhIXwzsi2+Xp72CNshNBEopdzaqfhkpq07Tt3QMvSJrIK3p/2GUM3aHM1fp2/l9mZV+GRoS7t3Y7WXvBKBrlmslCr1qgT780z3Bg657wEtqxOTkMo//thDWJAfr94RUaQurK6giUAppYrokc51OB2fwuSVh6kc7MvoznVdHVKBaCJQSqkiEhFeu6MxcYmpvPf7HsLK+tG/RTVXh5VvmgiUUsoOPDyEfw9uzpmLqTz301YqBvrSsV5FV4eVLzrpnFJK2Ymftyef3x9F3dBAHvl2IztPxrs6pHzRRKCUUnYU7O/N1yPaUtbPiwe/Ws/xc8V/QR1NBEopZWeVg/34ZmRb0jKyeGDyOs5dSnN1SHnSRKCUUg5QPyyILx+I4sSFZEZ9s57ktOK7mI4mAqWUcpA24eX5eGhLth6/wF+mbnLKQjqFoYlAKaUcqFfTyrzZvykL98TS9d9LeO/33Ww+dp7iNKuDdh9VSikHG96uFuUDfPhp43G+WnmYz5cdomqwHz2bVqZPZBVa1wxx6dQUOteQUko5UXxyOgt3x/D79tMs2x9HWkYWlYJ86dmkMr0jK9M2vDxedpwL6TKddE4ppYqhi6kZLNoTyx/bT7F4bywp6VlUKONDjyZh9G5ahfZ1K9htgjxNBEopVcwlpWWwdG8cv+84zaLdMVxKyyTY35vujcPoE1mZjvUqFmmaa00ESilVgqSkZ7J8/xn+2H6K+btjSEzJIMjXi6e61eehTnUKdZ86DbVSSpUgft6edG8cRvfGYaRlZLHyoJUUHLUkpiYCpZQqxny8POjasBJdG1Zy2DkcNo5ARCaLSKyI7Mhlv4jIWBE5ICLbRKSVo2JRSimVO0cOKPsa6JXH/t5AfdvPaGCCA2NRSimVC4clAmPMMuBcHkX6A1OMZQ1QTkSqOCoepZRSOXPlFBPVgOPZ/o62bbuOiIwWkQ0isiEuLs4pwSmllLsoEXMNGWM+N8ZEGWOiQkNDXR2OUkqVKq5MBCeAGtn+rm7bppRSyolcmQjmAPfbeg+1A+KNMadcGI9SSrklh40jEJFpQBegoohEA68D3gDGmM+A34E+wAEgCRjhqFiUUkrlrsRNMSEiccDRQh5eEThjx3DsrbjHB8U/Ro2vaDS+oinO8dUyxuTYyFriEkFRiMiG3ObaKA6Ke3xQ/GPU+IpG4yua4h5fbkpEryGllFKOo4lAKaXcnLslgs9dHcANFPf4oPjHqPEVjcZXNMU9vhy5VRuBUkqp67nbFYFSSqlraCJQSik3VyoTgYj0EpG9trUOXsxhv6+ITLftXysi4U6MrYaILBaRXSKyU0SeyqFMFxGJF5Ettp/XnBWf7fxHRGS77dzXrQvqyrUkRKRhtudli4gkiMjT15Rx+vOX0/obIlJeROaLyH7b75Bcjn3AVma/iDzgxPjeF5E9tv/hLBEpl8uxeb4eHBjfGyJyItv/sU8ux+b5fndgfNOzxXZERLbkcqzDn78iM8aUqh/AEzgI1AF8gK1A42vKPAZ8Zrs9FJjuxPiqAK1st4OAfTnE1wX4zYXP4RGgYh77+wB/AAK0A9a68H99GmugjEufP6Az0ArYkW3bv4AXbbdfBP6Zw3HlgUO23yG22yFOiq8H4GW7/c+c4svP68GB8b0BPJeP10Ce73dHxXfN/n8Dr7nq+SvqT2m8ImgLHDDGHDLGpAE/YK19kF1/4Bvb7RnAbSIizgjOGHPKGLPJdjsR2E0u028XY8VlLYnbgIPGmMKONLcbk/P6G9lfZ98Ad+ZwaE9gvjHmnDHmPDCfvBd0slt8xpg/jTEZtj/XYE386BK5PH/5kZ/3e5HlFZ/ts2MwMM3e53WW0pgI8rPOwZUytjdCPFDBKdFlY6uSagmszWF3exHZKiJ/iEgT50aGAf4UkY0iMjqH/fleS8LBhpL7m8+Vz99lYeZ/EymeBsJyKFNcnsuRWFd5ObnR68GR/mKrupqcS9VacXj+OgExxpj9uex35fOXL6UxEZQIIhII/Aw8bYxJuGb3JqzqjubAJ8AvTg7vZmNMK6zlRB8Xkc5OPv8NiYgP0A/4KYfdrn7+rmOsOoJi2VdbRF4BMoDvcyniqtfDBKAu0AI4hVX9UhzdQ95XA8X+/VQaE0F+1jm4UkZEvIBg4KxTorPO6Y2VBL43xsy8dr8xJsEYc9F2+3fAW0QqOis+Y8wJ2+9YYBbW5Xd2xWEtid7AJmNMzLU7XP38ZRNzucrM9js2hzIufS5F5EHgDuA+W7K6Tj5eDw5hjIkxxmQaY7KAL3I5r6ufPy/gLmB6bmVc9fwVRGlMBOuB+iJS2/atcSjW2gfZzQEu984YCCzK7U1gb7b6xEnAbmPMh7mUqXy5zUJE2mL9n5ySqESkjIgEXb6N1aC445pixWEtiVy/hbny+btG9tfZA8DsHMrMA3qISIit6qOHbZvDiUgv4P+AfsaYpFzK5Of14Kj4src7DcjlvPl5vztSN2CPMSY6p52ufP4KxNWt1Y74werVsg+rN8Ertm1vYb3gAfywqhQOAOuAOk6M7WasKoJtwBbbTx9gDDDGVuYvwE6sHhBrgA5OjK+O7bxbbTFcfv6yxyfAeNvzux2IcvL/twzWB3twtm0uff6wktIpIB2rnnoUVrvTQmA/sAAobysbBXyZ7diRttfiAWCEE+M7gFW/fvl1eLknXVXg97xeD06K71vb62sb1od7lWvjs/193fvdGfHZtn99+XWXrazTn7+i/ugUE0op5eZKY9WQUkqpAtBEoJRSbk4TgVJKuTlNBEop5eY0ESillJvTRKCUE9lmRv3N1XEolZ0mAqWUcnOaCJTKgYgME5F1tjnkJ4qIp4hcFJH/iLWOxEIRCbWVbSEia7LN6x9i215PRBbYJr/bJCJ1bXcfKCIzbGsBfO+smW+Vyo0mAqWuISIRwBCgozGmBZAJ3Ic1onmDMaYJsBR43XbIFOAFY0wzrJGwl7d/D4w31uR3HbBGpoI14+zTQGOskacdHfyQlMqTl6sDUKoYug1oDay3fVn3x5owLov/TS72HTBTRIKBcsaYpbbt3wA/2eaXqWaMmQVgjEkBsN3fOmObm8a2qlU4sMLhj0qpXGgiUOp6AnxjjHnpqo0ir15TrrDzs6Rmu52Jvg+Vi2nVkFLXWwgMFJFKcGXt4VpY75eBtjL3AiuMMfHAeRHpZNs+HFhqrNXnokXkTtt9+IpIgDMfhFL5pd9ElLqGMWaXiPwNa1UpD6wZJx8HLgFtbftisdoRwJpi+jPbB/0hYIRt+3Bgooi8ZbuPQU58GErlm84+qlQ+ichFY0ygq+NQyt60akgppdycXhEopZSb0ysCpZRyc5oIlFLKzWkiUEopN6eJQCml3JwmAqWUcnP/D3IEnoPB3VdmAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
"source": [
"plt.plot(history.history['accuracy'])\n",
"plt.plot(history.history['val_accuracy'])\n",
"plt.title('model accuracy')\n",
"plt.ylabel('accuracy')\n",
"plt.xlabel('epoch')\n",
"plt.legend(['train', 'valid'], loc='lower right')\n",
"plt.show()\n",
"plt.plot(history.history['loss'])\n",
"plt.plot(history.history['val_loss'])\n",
"plt.title('model loss')\n",
"plt.ylabel('loss')\n",
"plt.xlabel('epoch')\n",
"plt.legend(['train', 'valid'], loc='upper right')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Tensorboard"
]
},
{
"cell_type": "code",
"# Load the TensorBoard notebook extension on google colab\n",
"os.makedirs(logdir, exist_ok=True)\n",
"%tensorboard --logdir logs"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "Y8oAT4oUGhJs"
},
"source": [
"# Part II : Transfer Learning\n",
"\n",
"\n",
"Having to train an image-classification model using very little data is a common situation,\n",
"which you’ll likely encounter in practice if you ever do computer vision in a\n",
"professional context. A “few” samples can mean anywhere from a few hundred to a\n",
"few tens of thousands of images. As a practical example, we’ll focus on classifying\n",
"560 images belongig to 8 actors. We’ll use 480 pictures for training, and 80 for validation.\n",
"\n",
"## 2.1 Feature Extraction with a Pretrained Model\n",
"Feature extraction consists of using the representations learned by a previously\n",
"trained model to extract interesting features from new samples. These features are\n",
"then run through a new classifier, which is trained from scratch.\n",
"As you saw previously, ConvNets used for image classification comprise two parts:\n",
"they start with a series of pooling and convolution layers, and they end with a densely\n",
"connected classifier. The first part is called the _convolutional base_ of the model. In the\n",
"case of convnets, feature extraction consists of taking the convolutional base of a previously\n",
"trained network, running the new data through it, and training a new classifier\n",
"on top of the output.\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"source": [
"# General imports\n",
"import tensorflow as tf\n",
"tf.compat.v1.enable_eager_execution(\n",
" config=None, device_policy=None, execution_mode=None\n",
")\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import os, datetime\n",
"\n",
"# Shortcuts to keras if (however from tensorflow)\n",
"from tensorflow import keras\n",
"from tensorflow.keras.preprocessing.image import ImageDataGenerator\n",
"from tensorflow.keras.models import Sequential\n",
"from tensorflow.keras.layers import Conv2D, MaxPooling2D\n",
"from tensorflow.keras.layers import Activation, Dropout, Flatten, Dense\n",
"from tensorflow.keras.callbacks import TensorBoard \n",
"from tensorflow.keras import layers"
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {},
"output_type": "execute_result"
}
],
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
"source": [
"from IPython.display import Image\n",
"Image(\"./Images/feature_extraction.png\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Why only reuse the convolutional base? Could we reuse the densely connected\n",
"classifier as well? In general, doing so should be avoided. The reason is that the representations\n",
"learned by the convolutional base are likely to be more generic and, therefore,\n",
"more reusable: the feature maps of a ConvNet are presence maps of generic\n",
"concepts over a picture, which are likely to be useful regardless of the computer vision\n",
"problem at hand. But the representations learned by the classifier will necessarily be\n",
"specific to the set of classes on which the model was trained—they will only contain\n",
"information about the presence probability of this or that class in the entire picture.\n",
"Additionally, representations found in densely connected layers no longer contain any information about where objects are located in the input image; these layers get rid of\n",
"the notion of space, whereas the object location is still described by convolutional feature\n",
"maps. For problems where object location matters, densely connected features\n",
"are largely useless.\n",
"\n",
"\n",
"Note that the level of generality (and therefore reusability) of the representations\n",
"extracted by specific convolution layers depends on the depth of the layer in the\n",
"model. Layers that come earlier in the model extract local, highly generic feature\n",
"maps (such as visual edges, colors, and textures), whereas layers that are higher up\n",
"extract more-abstract concepts (such as “cat ear” or “dog eye”). So if your new dataset\n",
"differs a lot from the dataset on which the original model was trained, you may be better\n",
"off using only the first few layers of the model to do feature extraction, rather than\n",
"using the entire convolutional base.\n",
"\n",
"\n",
"\n",
"In this case, because the ImageNet class set does not contain images of actors, we’ll \n",
"choose not to use the densely connected layers, in order to cover\n",
"the more general case where the class set of the new problem doesn’t overlap the\n",
"class set of the original model. Let’s put this into practice by using the convolutional\n",
"base of the VGG16 network, trained on ImageNet, to extract interesting features\n",
"from actors, and then train a classifier for the 8 actors on top of\n",
"these features.\n",
"\n",
"The VGG16 model, among others, comes prepackaged with Keras. You can import\n",
"it from the `keras.applications` module. Many other image-classification models (all\n",
"pretrained on the ImageNet dataset) are available as part of `keras.applications`:\n",
"\n",
"\n",
"- Xception\n",
"- ResNet\n",
"- MobileNet\n",
"- EfficientNet\n",
"- DenseNet\n",
"- etc.\n",
"\n",
"Let's instantiate the VGG16 model."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {},
"colab_type": "code",
"id": "4Luec7pbGhJv",
"scrolled": true
},
"outputs": [],
"source": [
"# The target image size can be fixed here (quadratic)\n",
"# The ImageDataGenerator() automatically scales the images accordingly (aspect ratio is changed)\n",
]
},
{
"cell_type": "code",
"metadata": {
"colab": {},
"colab_type": "code",
"id": "eRes_n9BGhJ0"
},
"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_notop.h5\n",
"58892288/58889256 [==============================] - 1s 0us/step\n",
"58900480/58889256 [==============================] - 1s 0us/step\n"
]
}
],
"conv_base = keras.applications.vgg16.VGG16(weights=\"imagenet\",\n",
" include_top=False,\n",
" input_shape=(image_size, image_size, 3))"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "vEIWLeqSGhJ5"
},
"source": [
"You pass three arguments to the constructor:\n",
"\n",
"- `weights` specifies the weight checkpoint from which to initialize the model.\n",
"\n",
"- `include_top` refers to including (or not) the densely connected classifier on\n",
"top of the network. By default, this densely connected classifier corresponds to\n",
"the 1'000 classes from ImageNet. Because we intend to use our own densely\n",
"connected classifier (with 8 classes of actors), we don’t need to\n",
"include it.\n",
"- `input_shape` is the shape of the image tensors that we’ll feed to the network.\n",
"This argument is purely optional: if we don’t pass it, the network will be able to\n",
"process inputs of any size. Here we pass it so that we can visualize (in the following\n",
"summary) how the size of the feature maps shrinks with each new convolution\n",
"and pooling layer."
]
},
{
"cell_type": "markdown",
"Here’s the detail of the architecture of the VGG16 convolutional base. It’s similar to\n",
"the simple convnets you’re already familiar with:"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {},
"colab_type": "code",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Model: \"vgg16\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
" \n",
" block1_conv1 (Conv2D) (None, 150, 150, 64) 1792 \n",
" \n",
" block1_conv2 (Conv2D) (None, 150, 150, 64) 36928 \n",
" \n",
" block1_pool (MaxPooling2D) (None, 75, 75, 64) 0 \n",
" \n",
" block2_conv1 (Conv2D) (None, 75, 75, 128) 73856 \n",
" \n",
" block2_conv2 (Conv2D) (None, 75, 75, 128) 147584 \n",
" \n",
" block2_pool (MaxPooling2D) (None, 37, 37, 128) 0 \n",
" \n",
" block3_conv1 (Conv2D) (None, 37, 37, 256) 295168 \n",
" \n",
" block3_conv2 (Conv2D) (None, 37, 37, 256) 590080 \n",
" \n",
" block3_conv3 (Conv2D) (None, 37, 37, 256) 590080 \n",
" \n",
" block3_pool (MaxPooling2D) (None, 18, 18, 256) 0 \n",
" \n",
" block4_conv1 (Conv2D) (None, 18, 18, 512) 1180160 \n",
" \n",
" block4_conv2 (Conv2D) (None, 18, 18, 512) 2359808 \n",
" \n",
" block4_conv3 (Conv2D) (None, 18, 18, 512) 2359808 \n",
" \n",
" block4_pool (MaxPooling2D) (None, 9, 9, 512) 0 \n",
" \n",
" block5_conv1 (Conv2D) (None, 9, 9, 512) 2359808 \n",
" \n",
" block5_conv2 (Conv2D) (None, 9, 9, 512) 2359808 \n",
" \n",
" block5_conv3 (Conv2D) (None, 9, 9, 512) 2359808 \n",
" \n",
" block5_pool (MaxPooling2D) (None, 4, 4, 512) 0 \n",
" \n",
"=================================================================\n",
"Total params: 14,714,688\n",
"Trainable params: 14,714,688\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n"
]
}
],
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "DBSrhVORGhKH"
},
"source": [
"\n",
"The final feature map (output volume) has shape $(5, 5, 512)$. That's the feature on top of which we will stick a densely connected classifier.\n",
"\n",
"At this point, there are two ways how we could proceed:\n",
"\n",
"- __Approach 1__: Run the convolutional base over our dataset, record its output to a NumPy array\n",
"on disk, and then use this data as input to a standalone, densely connected classifier\n",
"similar to those you saw in Block 4 of this course. This solution is fast and\n",
"cheap to run, because it only requires running the convolutional base once for\n",
"every input image, and the convolutional base is by far the most expensive part\n",
"of the pipeline. But for the same reason, this technique won’t allow us to use\n",
"data augmentation.\n",
"\n",
"- __Approach 2__: Extend the model we have (`conv_base`) by adding `Dense` layers on top, and run\n",
"the whole thing from end to end on the input data. This will allow us to use\n",
"data augmentation, because every input image goes through the convolutional\n",
"base every time it’s seen by the model. But for the same reason, this technique is\n",
"far more expensive than the first.\n",
"We’ll cover both techniques. Let’s walk through the code required to set up the first\n",
"one: recording the output of `conv_base` on our data and using these outputs as inputs\n",
"to a new model."
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "mlpIDmSCGhKI"
},
"source": [
"### 1. Approach : Fast feature extraction without data augmentation\n",
"We’ll start by extracting features as NumPy arrays by calling the `predict()` method of\n",
"the `conv_base` model on our training, and validation datasets.\n",
"Let’s iterate over our datasets to extract the VGG16 features."
]
},
{
"cell_type": "code",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Found 480 files belonging to 8 classes.\n",
"from tensorflow.keras.utils import image_dataset_from_directory\n",
"train_dataset = image_dataset_from_directory(\n",
" './train',\n",
"validation_dataset = image_dataset_from_directory(\n",
" './validation',\n",
]
},
{
"cell_type": "code",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"def get_features_and_labels(dataset):\n",
" all_features = []\n",
" all_labels = []\n",
" for images, labels in dataset:\n",
" preprocessed_images = keras.applications.vgg16.preprocess_input(images)\n",
" features = conv_base.predict(preprocessed_images)\n",
" all_features.append(features)\n",
" all_labels.append(labels)\n",
" return np.concatenate(all_features), np.concatenate(all_labels)\n",
"train_features, train_labels = get_features_and_labels(train_dataset)\n",
"val_features, val_labels = get_features_and_labels(validation_dataset)"
]
},
"Importantly, `predict()` only expects images, not labels, but our current dataset yields\n",
"batches that contain both images and their labels. Moreover, the VGG16 model expects\n",
"inputs that are preprocessed with the function `keras.applications.vgg16.preprocess_input`, which scales pixel values to an appropriate range.\n",
"The extracted features are currently of shape `(samples, 4, 4, 512)`:"
]
},
{
"cell_type": "code",
"outputs": [
{
"data": {
"text/plain": [
"(480, 4, 4, 512)"
]
},
"metadata": {},
"output_type": "execute_result"
}
],
]
},
{
"cell_type": "markdown",
"And the labels are now referring to the order of the folders"
]
},
{
"cell_type": "code",
"outputs": [
{
"data": {
"text/plain": [
"(480, 8)"
]
},
"metadata": {},
"output_type": "execute_result"
}
],
]
},
{
"cell_type": "code",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"print(val_features.shape)\n",
"print(val_labels.shape)"
]
},
{
"cell_type": "code",
"# Note the use of the Flatten layer before passing the\n",
"# features to a Dense layer\n",
"x = layers.Flatten()(inputs)\n",
"x = layers.Dense(256)(x)\n",
"x = layers.Dropout(0.7)(x)\n",
"outputs = layers.Dense(8, activation=\"softmax\")(x)\n",
"model = keras.Model(inputs, outputs)"
]
},
{
"cell_type": "code",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",