{"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 matplotlib.pyplot as plt\nfrom tqdm import tqdm\nimport os\nimport cv2\nimport tensorflow as tf\nfrom tensorflow.keras import layers,models,optimizers\nfrom tensorflow.keras.preprocessing.image import ImageDataGenerator,load_img, img_to_array, smart_resize\nfrom tensorflow.keras.callbacks import EarlyStopping, ReduceLROnPlateau, ModelCheckpoint\nfrom tensorflow.keras.applications.vgg16 import VGG16, preprocess_input\nfrom tensorflow.keras.applications import EfficientNetB7\nfrom tensorflow.keras.preprocessing import image","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df = pd.read_csv('../input/plant-pathology-2021-fgvc8/train.csv')\ndf.head()","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"class_name = df['labels'].value_counts().index\nclass_count = df['labels'].value_counts().values\ndf['labels'] = df['labels'].astype('category')\ndf['label_num'] = df['labels'].cat.codes","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission = pd.read_csv(\"../input/plant-pathology-2021-fgvc8/sample_submission.csv\")\nsubmission.head()","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test_dir = '../input/plant-pathology-2021-fgvc8/test_images'\npred = []\nmodel = models.load_model('../input/trainmodel/best_model.h5')","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"for image in os.listdir(test_dir):\n    path = os.path.join(test_dir, image)\n    img = load_img(path)\n    img = img_to_array(img)\n    img = smart_resize(img, (150,150))\n    img = tf.reshape(img, (-1, 150, 150, 3))\n    temp = model.predict(img/255.)\n    temp = np.argmax(temp)\n    pred = np.append(pred,temp)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission_result = pd.DataFrame({'image' : submission.image, 'labels' : pred})\nsubmission_result['labels'] = submission_result['labels'].astype(int)\nclass_map = dict(sorted(df[['label_num', 'labels']].values.tolist()))\nsubmission_result['labels'] = submission_result['labels'].map(class_map)\nsubmission_result.to_csv('submission.csv', index=False)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(\"Competetion Complete!!\")","metadata":{"trusted":true},"execution_count":null,"outputs":[]}]}