{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import pandas as pd\nimport numpy as np\nimport tensorflow as tf\nfrom tensorflow import keras\nimport warnings\nwarnings.filterwarnings(action='ignore')\n","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_data = pd.read_csv('../input/paddy-disease-classification/train.csv')\nsub_data = pd.read_csv('../input/paddy-disease-classification/sample_submission.csv')","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_data['variety'].value_counts()","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from sklearn.preprocessing import LabelEncoder\nle = LabelEncoder()\ntrain_data['variety'] = le.fit_transform(train_data['variety'])","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_data.isnull().sum()","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sub_data","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"diseases_types=sorted(list(set(train_data['label'])))\nn_classes=len(diseases_types)\nprint(n_classes)\nprint(diseases_types)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train= tf.keras.utils.image_dataset_from_directory(\"/kaggle/input/paddy-disease-classification/train_images/\",\n                                                        labels='inferred',\n                                                        label_mode='categorical',\n                                                        class_names=diseases_types,\n                                                        color_mode='rgb',\n                                                        image_size=(680,480),\n                                                        shuffle=True,\n                                                        validation_split=0.2,\n                                                        subset='training',\n                                                        seed=42)\n\nval= tf.keras.utils.image_dataset_from_directory(\"/kaggle/input/paddy-disease-classification/train_images/\",\n                                                        labels='inferred',\n                                                        label_mode='categorical',\n                                                        class_names=diseases_types,   \n                                                        color_mode='rgb',\n                                                        image_size=(680,480),\n                                                        shuffle=True,\n                                                        validation_split=0.2,\n                                                        subset='validation',\n                                                        seed=42)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"val","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from tensorflow.keras import models,layers","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model = models.Sequential()\npretrained_model=tf.keras.applications.ResNet50(include_top=False,input_shape=(680,480,3),pooling='avg',classes=10,weights='imagenet')\n    \nfor layer in pretrained_model.layers:\n    layer.trainable=False\n    \n    \nmodel.add(pretrained_model)\nmodel.add(layers.Flatten())\nmodel.add(layers.Dense(512,activation='relu'))\nmodel.add(layers.Dense(99,activation='relu'))\nmodel.add(layers.Dense(10,activation='softmax'))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model.summary()","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"tf.keras.utils.plot_model(model)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model.compile(optimizer='adam',loss='categorical_crossentropy',metrics=['accuracy'])\nmodel.fit(train,validation_data=val,epochs=15)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test_data=tf.keras.utils.image_dataset_from_directory(\"/kaggle/input/paddy-disease-classification/test_images/\",\n                                                        labels=None,\n                                                        label_mode=None,\n                                                        color_mode='rgb',\n                                                        image_size=(680,480),\n                                                        shuffle=False)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"predict=tf.argmax(model.predict(test_data),axis=-1)\npredict","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"predictions=[]\nfor i in predict:\n    predictions.append(diseases_types[i])","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sub_data=sub_data.drop(columns='label',axis=1)\nsub_data","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission=pd.DataFrame({'image_id':sub_data['image_id'],'label':predictions})\nsubmission","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission.to_csv('paddy.csv',index=None)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!git init","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!git add .","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!git commit -m \"first commit\"","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!git config user.email \"iamsindhuinti23@gmail.com\"\n!git config user.name \"Sindhu inti\"","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!git remote add origin https://github.com/Sindhuinti/paddy-disease-classification.git\n!git branch -M main\n!git push -u origin main","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}