{ "cells": [ { "cell_type": "markdown", "id": "8cdbded1-80ec-4314-b141-3b0b4487881d", "metadata": {}, "source": [ "# Data Fruit Classification / CNN" ] }, { "cell_type": "markdown", "id": "d90f79c6-510a-4aef-b9cf-d44272627352", "metadata": {}, "source": [ "# Amaç" ] }, { "cell_type": "raw", "id": "82fd1e63-d975-4e30-affe-96af4b079e25", "metadata": {}, "source": [ "Bu projede 9 çeşit hurma görüntüsünü Deep Learning kullanarak sınıflandıracak bir model geliştireceğiz." ] }, { "cell_type": "code", "execution_count": 5, "id": "bc8c1e62-f150-40d9-b622-49be146ec08f", "metadata": {}, "outputs": [], "source": [ "import cv2\n", "import pandas as pd\n", "import os\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from sklearn.preprocessing import LabelEncoder" ] }, { "cell_type": "code", "execution_count": 7, "id": "1f14fc53-7349-44bd-a377-a207f26ded0e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Ajwa',\n", " 'Galaxy',\n", " 'Medjool',\n", " 'Meneifi',\n", " 'Nabtat Ali',\n", " 'Rutab',\n", " 'Shaishe',\n", " 'Sokari',\n", " 'Sugaey']" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "os.listdir('Date_Fruit')" ] }, { "cell_type": "code", "execution_count": 9, "id": "6b5d8bcc-0fe2-4c46-8b62-a3852a516375", "metadata": {}, "outputs": [], "source": [ "labels=['Ajwa','Galaxy','Medjool','Meneifi','Nabtat Ali','Rutab','Shaishe','Sokari','Sugaey']\n", "img_path='Date_Fruit/'" ] }, { "cell_type": "code", "execution_count": 11, "id": "71a9c2e1-db92-4d40-98e5-bc9bd751176c", "metadata": {}, "outputs": [], "source": [ "img_list=[]\n", "label_list=[]\n", "for label in labels:\n", " for img_file in os.listdir(img_path+label):\n", " img_list.append(img_path+label+'/'+img_file)\n", " label_list.append(label)" ] }, { "cell_type": "code", "execution_count": 13, "id": "82c11ac6-87f1-4602-a22b-e8812e3e51d6", "metadata": {}, "outputs": [], "source": [ "df=pd.DataFrame({'img':img_list,'label':label_list})" ] }, { "cell_type": "code", "execution_count": 15, "id": "fb86889e-63c4-4220-a6ff-1ec644a9fd11", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
imglabel
0Date_Fruit/Ajwa/Ajwa Date (1).JPGAjwa
1Date_Fruit/Ajwa/Ajwa Date (10).JPGAjwa
2Date_Fruit/Ajwa/Ajwa Date (100).JPGAjwa
3Date_Fruit/Ajwa/Ajwa Date (101).JPGAjwa
4Date_Fruit/Ajwa/Ajwa Date (102).JPGAjwa
\n", "
" ], "text/plain": [ " img label\n", "0 Date_Fruit/Ajwa/Ajwa Date (1).JPG Ajwa\n", "1 Date_Fruit/Ajwa/Ajwa Date (10).JPG Ajwa\n", "2 Date_Fruit/Ajwa/Ajwa Date (100).JPG Ajwa\n", "3 Date_Fruit/Ajwa/Ajwa Date (101).JPG Ajwa\n", "4 Date_Fruit/Ajwa/Ajwa Date (102).JPG Ajwa" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 17, "id": "1d026716-944f-449b-8865-8f3e3e7cd168", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
imglabel
1653Date_Fruit/Sugaey/Sugaey Date (95).JPGSugaey
1654Date_Fruit/Sugaey/Sugaey Date (96).JPGSugaey
1655Date_Fruit/Sugaey/Sugaey Date (97).JPGSugaey
1656Date_Fruit/Sugaey/Sugaey Date (98).JPGSugaey
1657Date_Fruit/Sugaey/Sugaey Date (99).JPGSugaey
\n", "
" ], "text/plain": [ " img label\n", "1653 Date_Fruit/Sugaey/Sugaey Date (95).JPG Sugaey\n", "1654 Date_Fruit/Sugaey/Sugaey Date (96).JPG Sugaey\n", "1655 Date_Fruit/Sugaey/Sugaey Date (97).JPG Sugaey\n", "1656 Date_Fruit/Sugaey/Sugaey Date (98).JPG Sugaey\n", "1657 Date_Fruit/Sugaey/Sugaey Date (99).JPG Sugaey" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.tail()" ] }, { "cell_type": "code", "execution_count": 19, "id": "c77493fa-d345-4081-9d3f-e04ec26ffcaf", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1658, 2)" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.shape" ] }, { "cell_type": "code", "execution_count": 23, "id": "2edd192b-b779-4401-94df-f1c9ac941200", "metadata": {}, "outputs": [], "source": [ "d={'Ajwa':0,'Galaxy':1,'Medjool':2,'Meneifi':3,'Nabtat Ali':4,'Rutab':5,'Shaishe':6,'Sokari':7,'Sugaey':8} " ] }, { "cell_type": "code", "execution_count": 25, "id": "5a83af74-83ae-4e26-942c-56770f0ce1bd", "metadata": {}, "outputs": [], "source": [ "df['class']=df['label'].map(d)" ] }, { "cell_type": "code", "execution_count": 27, "id": "04dc6e8c-a920-406b-908a-f70a3166528a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
imglabelclass
0Date_Fruit/Ajwa/Ajwa Date (1).JPGAjwa0
1Date_Fruit/Ajwa/Ajwa Date (10).JPGAjwa0
2Date_Fruit/Ajwa/Ajwa Date (100).JPGAjwa0
3Date_Fruit/Ajwa/Ajwa Date (101).JPGAjwa0
4Date_Fruit/Ajwa/Ajwa Date (102).JPGAjwa0
\n", "
" ], "text/plain": [ " img label class\n", "0 Date_Fruit/Ajwa/Ajwa Date (1).JPG Ajwa 0\n", "1 Date_Fruit/Ajwa/Ajwa Date (10).JPG Ajwa 0\n", "2 Date_Fruit/Ajwa/Ajwa Date (100).JPG Ajwa 0\n", "3 Date_Fruit/Ajwa/Ajwa Date (101).JPG Ajwa 0\n", "4 Date_Fruit/Ajwa/Ajwa Date (102).JPG Ajwa 0" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 29, "id": "94789c0e-287e-4076-a3ff-fe91773b543f", "metadata": {}, "outputs": [], "source": [ "x = []\n", "for img_path in df['img']:\n", " img = cv2.imread(img_path)\n", " if img is None:\n", " print(f\"Görüntü okunamadı: {img_path}\")\n", " continue\n", " img = cv2.resize(img, (64, 64)) \n", " img = img / 255.0 \n", " img = np.array(img)\n", " x.append(img)" ] }, { "cell_type": "code", "execution_count": 31, "id": "db2e3d7c-6442-4567-bb09-3c03b6f72bab", "metadata": {}, "outputs": [], "source": [ "y=df['class']" ] }, { "cell_type": "code", "execution_count": 33, "id": "b5f360da-318f-4228-adba-d35db50d1396", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1658 1658\n" ] } ], "source": [ "print(len(x),len(y))" ] }, { "cell_type": "code", "execution_count": 35, "id": "0719e23b-1892-44aa-8e76-987f97c2517f", "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split" ] }, { "cell_type": "code", "execution_count": 37, "id": "931451d4-c057-42b0-95bb-742dc2ecdbb0", "metadata": {}, "outputs": [], "source": [ "x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=.20,random_state=42)" ] }, { "cell_type": "code", "execution_count": 44, "id": "d4480ed1-acfd-4d24-b456-e21cc812ee54", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.imshow(x_train[500])\n", "plt.title(labels[int(y_train[500])]);" ] }, { "cell_type": "code", "execution_count": 46, "id": "8c24d037-b396-439c-8e48-517577aacb02", "metadata": {}, "outputs": [], "source": [ "from keras.models import Sequential \n", "from keras.layers import Conv2D, Dense, Flatten,Input,MaxPooling2D,Dropout,BatchNormalization, Reshape" ] }, { "cell_type": "code", "execution_count": 47, "id": "ee560446-a6dd-4d90-bbff-13811b531453", "metadata": {}, "outputs": [], "source": [ "# CNN Convolutional Neural Networks" ] }, { "cell_type": "code", "execution_count": 51, "id": "4ddce14a-3110-475c-8b81-56bb37cfdfea", "metadata": {}, "outputs": [], "source": [ "model=Sequential()\n", "model.add(Input(shape=(64,64,3)))\n", "model.add(Conv2D(32,kernel_size=(3,3),activation='relu'))\n", "model.add(MaxPooling2D(pool_size=(2,2)))\n", "model.add(Conv2D(64,kernel_size=(3,3),activation='relu'))\n", "model.add(MaxPooling2D(pool_size=(2,2)))\n", "model.add(Flatten())\n", "model.add(Dense(128))\n", "model.add(Dense(9, activation='softmax')) # 10 fakli cevap classification 0-9 a kadar olan rakamlar\n", "model.compile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics=['accuracy'])" ] }, { "cell_type": "code", "execution_count": 53, "id": "7bb84861-b91e-46ed-b2f4-2c8d7eac17f8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/10\n", "\u001b[1m42/42\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 62ms/step - accuracy: 0.2891 - loss: 2.2812 - val_accuracy: 0.6084 - val_loss: 0.9882\n", "Epoch 2/10\n", "\u001b[1m42/42\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 54ms/step - accuracy: 0.7351 - loss: 0.8048 - val_accuracy: 0.8494 - val_loss: 0.5426\n", "Epoch 3/10\n", "\u001b[1m42/42\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 53ms/step - accuracy: 0.8432 - loss: 0.4989 - val_accuracy: 0.9006 - val_loss: 0.4098\n", "Epoch 4/10\n", "\u001b[1m42/42\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 53ms/step - accuracy: 0.8551 - loss: 0.4488 - val_accuracy: 0.8524 - val_loss: 0.4367\n", "Epoch 5/10\n", "\u001b[1m42/42\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 58ms/step - accuracy: 0.8967 - loss: 0.3137 - val_accuracy: 0.8976 - val_loss: 0.3452\n", "Epoch 6/10\n", "\u001b[1m42/42\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 54ms/step - accuracy: 0.9051 - loss: 0.2614 - val_accuracy: 0.8855 - val_loss: 0.4056\n", "Epoch 7/10\n", "\u001b[1m42/42\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 56ms/step - accuracy: 0.9230 - loss: 0.2285 - val_accuracy: 0.8916 - val_loss: 0.3586\n", "Epoch 8/10\n", "\u001b[1m42/42\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 52ms/step - accuracy: 0.9174 - loss: 0.2410 - val_accuracy: 0.8524 - val_loss: 0.4916\n", "Epoch 9/10\n", "\u001b[1m42/42\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 51ms/step - accuracy: 0.9376 - loss: 0.1994 - val_accuracy: 0.9127 - val_loss: 0.2717\n", "Epoch 10/10\n", "\u001b[1m42/42\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 47ms/step - accuracy: 0.9446 - loss: 0.1586 - val_accuracy: 0.9096 - val_loss: 0.2972\n" ] } ], "source": [ "history=model.fit(np.array(x_train), np.array(y_train), epochs=10, validation_data=(np.array(x_test), np.array(y_test)), verbose=1)" ] }, { "cell_type": "code", "execution_count": 55, "id": "9d17a076-3ec6-4f62-9659-9a6afcb0e328", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:absl:You are saving your model as an HDF5 file via `model.save()` or `keras.saving.save_model(model)`. This file format is considered legacy. We recommend using instead the native Keras format, e.g. `model.save('my_model.keras')` or `keras.saving.save_model(model, 'my_model.keras')`. \n" ] } ], "source": [ "model.save('my_cnn_datafruit_model.h5')" ] }, { "cell_type": "code", "execution_count": 57, "id": "7eacfe70-defc-41e1-bead-4927e7f60f8f", "metadata": {}, "outputs": [], "source": [ "# 0.9096 val_accuracy, 10 epoch ile model oldukça başarılı" ] }, { "cell_type": "code", "execution_count": null, "id": "c61eaf4d-0ee3-4190-9e36-2465b6c938ed", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "f375d212-8fed-4620-9a2d-6eb0dc6da2e1", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "a77e2b08-d091-4479-8717-abaaf6ba0d60", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "d1377ba8-e2bf-4580-bec6-84260f797cc8", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "1c4070a6-7bb8-4bb3-889a-08859667dbc1", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "b3e4ee1c-d710-4fe1-9243-9712d640cdc7", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "802ebe07-1797-42b9-bdb9-92a7ce47b189", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "4df65765-f973-45d3-a242-6013797291f3", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "898a5a29-53dd-4c09-bc61-e5271c2e754a", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "5ce6f931-32c1-4a90-bbc4-9edb18259d97", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "c3195610-5e79-4e10-9d6c-264a50438249", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "39b98025-c021-4632-b6e1-9ff1c04d1cdf", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "d858fe6a-5a5f-4ab7-95ef-b7160115c0c0", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "da2135fb-ee9a-4e72-818e-ec07bd530d6d", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.7" } }, "nbformat": 4, "nbformat_minor": 5 }