[6.1]
This commit is contained in:
@@ -2274,7 +2274,9 @@
|
||||
"cell_type": "code",
|
||||
"execution_count": 89,
|
||||
"id": "e7880a56",
|
||||
"metadata": {},
|
||||
"metadata": {
|
||||
"scrolled": true
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
@@ -2312,6 +2314,73 @@
|
||||
"# Week 6"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "0b3f858b",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Opdracht 6.1: ZTDL 6: Convolutional Neural Networks – MNIST"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "3eda82ac",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#maak een sequentieel model aan\n",
|
||||
"model = Sequential() \n",
|
||||
"\n",
|
||||
"\"\"\"\n",
|
||||
"Voeg een 2D convolution layer toe met 32 output filters, een kernel van 3x3\n",
|
||||
"en een input shape van 28x28 grootte en 1 layer.\n",
|
||||
"\"\"\"\n",
|
||||
"model.add(Conv2D(32,(3,3),input_shape={28,28,1}))\n",
|
||||
"\n",
|
||||
"\"\"\"\n",
|
||||
"Voeg een maxpool2d laag toe met een size van 2x2. Deze laag pakt het grootste\n",
|
||||
"element uit een 2x2 vierkant in elke laag.\n",
|
||||
"\"\"\"\n",
|
||||
"model.add(MaxPool2D(pool_size=(2,2)))\n",
|
||||
"\n",
|
||||
"\"\"\"\n",
|
||||
"Voeg een activation laag toe die de relu functie gebruikt. Deze functie maakt\n",
|
||||
"van negatieve getallen een 0. Deze functie wordt uitgevoerd op de som van alle\n",
|
||||
"waarden op de laagseizoen onder de kernel.\n",
|
||||
"\"\"\"\n",
|
||||
"model.add(Activation('relu'))\n",
|
||||
"\n",
|
||||
"\"\"\"\n",
|
||||
"door een flatten laag toe te voegen worden alle lagen achter elkaar gezet\n",
|
||||
"zodat deze makkelijker als input gebruikt kunnen worden voor de volgende lagen.\n",
|
||||
"bron:\n",
|
||||
"https://www.superdatascience.com/blogs/convolutional-neural-networks-cnn-step-3-flattening\n",
|
||||
"\"\"\"\n",
|
||||
"model.add(Flatten())\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"# voeg nog een relu activatie laag toe met 128.\n",
|
||||
"model.add(Dense(128,activation='relu'))\n",
|
||||
"\n",
|
||||
"\"\"\"\n",
|
||||
"Voeg een activatielaag toe die de softmax functie gebruikt zodat we een\n",
|
||||
"percentage van categoriën krijgen als resultaat. Deze laag heeft 10 outputs\n",
|
||||
"\"\"\"\n",
|
||||
"model.add(Dense(10,activation='softmax'))\n",
|
||||
"\n",
|
||||
"\"\"\"\n",
|
||||
"compileer het model met de categorical crossentropy loss function,\n",
|
||||
"en de rmsprop als optimizer.\n",
|
||||
"We willen de accuracy vergelijken door deze als metric mee te geven.\n",
|
||||
"\n",
|
||||
"TODO optimizer en loss uitleggen\n",
|
||||
"\"\"\"\n",
|
||||
"model.compile(loss='categorical_crossentropy',\n",
|
||||
" optimizer='rmsprop',\n",
|
||||
" metrics=['accuracy'])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "ea5be5e2",
|
||||
|
||||
Reference in New Issue
Block a user