From 91744bc874ea2e1a871b8f5caa96b3da2f1c3f94 Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Wed, 9 Jun 2021 15:41:45 +0200 Subject: [PATCH] [ADD] commetns --- exercises/Jupyter notebook CVML.ipynb | 51 ++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/exercises/Jupyter notebook CVML.ipynb b/exercises/Jupyter notebook CVML.ipynb index 3f2b2d6..f2b45d5 100644 --- a/exercises/Jupyter notebook CVML.ipynb +++ b/exercises/Jupyter notebook CVML.ipynb @@ -2457,6 +2457,7 @@ } ], "source": [ + "#laad image in en haal de alpha channel eraf\n", "img2 = mpimg.imread('../data/imgs/training/sem/6.png')\n", "img3 = img2[:,:,:3]\n", "img3.shape\n", @@ -2470,6 +2471,7 @@ "metadata": {}, "outputs": [], "source": [ + "# maak image data generator objecten\n", "train = ImageDataGenerator()\n", "validation = ImageDataGenerator()" ] @@ -2490,6 +2492,14 @@ } ], "source": [ + "\"\"\"\n", + "maak de datasets aan en lees fotos in, we gebruiken een target size van \n", + "200 bij 200, met een batch size van 3 omdat we een vrij kleine dataset\n", + "hebben. We gebruiken binary als class mode omdat we maar 2 classes hebben\n", + "(lars en sem)\n", + "\"\"\"\n", + "\n", + "\n", "train_dataset = train.flow_from_directory('../data/imgs/training',\n", " target_size=(200,200),\n", " batch_size=3,\n", @@ -2519,6 +2529,7 @@ } ], "source": [ + "# laat de indices van de classes zien\n", "train_dataset.class_indices" ] }, @@ -2541,6 +2552,7 @@ } ], "source": [ + "# hier kunnen we zien hoeveel 'lars' classes zijn en hoeveel 'sem'\n", "train_dataset.classes" ] }, @@ -2551,23 +2563,60 @@ "metadata": {}, "outputs": [], "source": [ + "# maak een sequentieel model aan\n", "model = tf.keras.models.Sequential()\n", - "\n", + "\"\"\"\n", + "voeg een convolutional layer toe met 16 filters, en een filter size van 3x3,\n", + "en de relu activation function. Ook heeft het een input shape van 200x200\n", + "en 3 lagen omdat we 3 channels hebben.\n", + "Voeg daarna een maxpool laag toe met een stride van kernel van 2x2\n", + "\"\"\"\n", "model.add(tf.keras.layers.Conv2D(16,(3,3),activation='relu',\n", " input_shape=(200,200,3)))\n", "model.add(tf.keras.layers.MaxPool2D(2,2))\n", "\n", + "\"\"\"\n", + "voeg een convolutional layer toe met 32 filters, en een filter size van 3x3,\n", + "en de relu activation function. Ook heeft het een input shape van 200x200\n", + "en 3 lagen omdat we 3 channels hebben.\n", + "Voeg daarna een maxpool laag toe met een stride van kernel van 2x2\n", + "\"\"\"\n", "model.add(tf.keras.layers.Conv2D(32,(3,3),activation='relu'))\n", "model.add(tf.keras.layers.MaxPool2D(2,2))\n", "\n", + "\"\"\"\n", + "voeg een convolutional layer toe met 64 filters, en een filter size van 3x3,\n", + "en de relu activation function. Ook heeft het een input shape van 200x200\n", + "en 3 lagen omdat we 3 channels hebben.\n", + "Voeg daarna een maxpool laag toe met een stride van kernel van 2x2\n", + "\"\"\"\n", "model.add(tf.keras.layers.Conv2D(64,(3,3),activation='relu'))\n", "model.add(tf.keras.layers.MaxPool2D(2,2))\n", "\n", + "\"\"\"\n", + "voeg een convolutional layer toe met 128 filters, en een filter size van 3x3,\n", + "en de relu activation function. Ook heeft het een input shape van 200x200\n", + "en 3 lagen omdat we 3 channels hebben.\n", + "Voeg daarna een maxpool laag toe met een stride van kernel van 2x2\n", + "\"\"\"\n", "model.add(tf.keras.layers.Conv2D(128,(3,3),activation='relu'))\n", "model.add(tf.keras.layers.MaxPool2D(2,2))\n", "\n", + "\"\"\"\n", + "voeg een flatten laag toe die het resultaat flattent zodat alle lagen achter\n", + "elkaar gezet worden en ze gebruikt kunnen worden als input voor de volgende\n", + "dense laag.\n", + "\"\"\"\n", "model.add(tf.keras.layers.Flatten())\n", + "\n", + "\"\"\"\n", + "voeg een dense laag toe met 512 outputs die de relu activatie functie gebruikt.\n", + "Dit wordt gedaan omdat deze laag dan fully connected is en zodat de volgende\n", + "laag een prediction kan doen met de sigmoid activatiefunctie.\n", + "\"\"\"\n", "model.add(tf.keras.layers.Dense(512,activation='relu'))\n", + "\n", + "# voeg een dense layer toe met 1 output die als result gebruikt zal worden\n", "model.add(tf.keras.layers.Dense(1,activation='sigmoid'))" ] },