[ADD] commetns
This commit is contained in:
@@ -2457,6 +2457,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"source": [
|
"source": [
|
||||||
|
"#laad image in en haal de alpha channel eraf\n",
|
||||||
"img2 = mpimg.imread('../data/imgs/training/sem/6.png')\n",
|
"img2 = mpimg.imread('../data/imgs/training/sem/6.png')\n",
|
||||||
"img3 = img2[:,:,:3]\n",
|
"img3 = img2[:,:,:3]\n",
|
||||||
"img3.shape\n",
|
"img3.shape\n",
|
||||||
@@ -2470,6 +2471,7 @@
|
|||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
|
"# maak image data generator objecten\n",
|
||||||
"train = ImageDataGenerator()\n",
|
"train = ImageDataGenerator()\n",
|
||||||
"validation = ImageDataGenerator()"
|
"validation = ImageDataGenerator()"
|
||||||
]
|
]
|
||||||
@@ -2490,6 +2492,14 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"source": [
|
"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",
|
"train_dataset = train.flow_from_directory('../data/imgs/training',\n",
|
||||||
" target_size=(200,200),\n",
|
" target_size=(200,200),\n",
|
||||||
" batch_size=3,\n",
|
" batch_size=3,\n",
|
||||||
@@ -2519,6 +2529,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"source": [
|
"source": [
|
||||||
|
"# laat de indices van de classes zien\n",
|
||||||
"train_dataset.class_indices"
|
"train_dataset.class_indices"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -2541,6 +2552,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"source": [
|
"source": [
|
||||||
|
"# hier kunnen we zien hoeveel 'lars' classes zijn en hoeveel 'sem'\n",
|
||||||
"train_dataset.classes"
|
"train_dataset.classes"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -2551,23 +2563,60 @@
|
|||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
|
"# maak een sequentieel model aan\n",
|
||||||
"model = tf.keras.models.Sequential()\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",
|
"model.add(tf.keras.layers.Conv2D(16,(3,3),activation='relu',\n",
|
||||||
" input_shape=(200,200,3)))\n",
|
" input_shape=(200,200,3)))\n",
|
||||||
"model.add(tf.keras.layers.MaxPool2D(2,2))\n",
|
"model.add(tf.keras.layers.MaxPool2D(2,2))\n",
|
||||||
"\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.Conv2D(32,(3,3),activation='relu'))\n",
|
||||||
"model.add(tf.keras.layers.MaxPool2D(2,2))\n",
|
"model.add(tf.keras.layers.MaxPool2D(2,2))\n",
|
||||||
"\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.Conv2D(64,(3,3),activation='relu'))\n",
|
||||||
"model.add(tf.keras.layers.MaxPool2D(2,2))\n",
|
"model.add(tf.keras.layers.MaxPool2D(2,2))\n",
|
||||||
"\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.Conv2D(128,(3,3),activation='relu'))\n",
|
||||||
"model.add(tf.keras.layers.MaxPool2D(2,2))\n",
|
"model.add(tf.keras.layers.MaxPool2D(2,2))\n",
|
||||||
"\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",
|
"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",
|
"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'))"
|
"model.add(tf.keras.layers.Dense(1,activation='sigmoid'))"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user