[ADD] commetns

This commit is contained in:
Sem van der Hoeven
2021-06-09 15:41:45 +02:00
parent c8167e0b33
commit 91744bc874

View File

@@ -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'))"
]
},