{"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 os\nimport numpy as np\nimport pandas as pd\ntrain = pd.read_csv('../input/plant-pathology-2021-fgvc8/train.csv')\n#train = pd.read_csv('/content/drive/MyDrive/data/train.csv')\n\ntrain.head()","metadata":{"id":"Q19brw5I4lZJ","executionInfo":{"status":"ok","timestamp":1626409701111,"user_tz":-480,"elapsed":7,"user":{"displayName":"ivy lu","photoUrl":"","userId":"08869534325210801489"}},"outputId":"928bd7c9-5c8f-405d-adf5-ce87a4bbbb90","execution":{"iopub.status.busy":"2021-07-17T10:15:52.246388Z","iopub.execute_input":"2021-07-17T10:15:52.246787Z","iopub.status.idle":"2021-07-17T10:15:52.279807Z","shell.execute_reply.started":"2021-07-17T10:15:52.246750Z","shell.execute_reply":"2021-07-17T10:15:52.278871Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from keras.preprocessing.image import ImageDataGenerator\npre = ImageDataGenerator(\n    rescale = 1/255.,\n    rotation_range = 15,\n    width_shift_range=0.2, \n    height_shift_range=0.2,\n    zoom_range = 0.2,\n    shear_range=0.3,\n    featurewise_center=False,\n    featurewise_std_normalization=False,\n    horizontal_flip=True,\n    vertical_flip=True,\n    validation_split= 0.2,)\npos = ImageDataGenerator(rescale = 1./255)","metadata":{"id":"uaBlBmg54lZN","executionInfo":{"status":"ok","timestamp":1626409706776,"user_tz":-480,"elapsed":6,"user":{"displayName":"ivy lu","photoUrl":"","userId":"08869534325210801489"}},"execution":{"iopub.status.busy":"2021-07-17T10:15:52.281196Z","iopub.execute_input":"2021-07-17T10:15:52.281498Z","iopub.status.idle":"2021-07-17T10:15:52.287155Z","shell.execute_reply.started":"2021-07-17T10:15:52.281458Z","shell.execute_reply":"2021-07-17T10:15:52.286271Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from sklearn.preprocessing import MultiLabelBinarizer\nmb = MultiLabelBinarizer().fit(train.labels.apply(lambda x : x.split()))\nlabels = pd.DataFrame(mb.transform(train.labels.apply(lambda x : x.split())), columns = mb.classes_)\nnew_train = pd.concat([train['image'], labels], axis=1)\nnew_train.head()","metadata":{"id":"jd8rLNbw4lZN","executionInfo":{"status":"ok","timestamp":1626409704335,"user_tz":-480,"elapsed":390,"user":{"displayName":"ivy lu","photoUrl":"","userId":"08869534325210801489"}},"outputId":"7dca8369-3aaf-4ce9-e600-1b0ece0e27e3","execution":{"iopub.status.busy":"2021-07-17T10:15:52.288881Z","iopub.execute_input":"2021-07-17T10:15:52.289345Z","iopub.status.idle":"2021-07-17T10:15:52.358945Z","shell.execute_reply.started":"2021-07-17T10:15:52.289315Z","shell.execute_reply":"2021-07-17T10:15:52.357950Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"seed = 88\ntarget_size = (299,299)\nbatch_size = 32\nresize_img = '../input/resized-plant2021/img_sz_384'\ntest_img = '../input/plant-pathology-2021-fgvc8/test_images'\nsubmission = pd.read_csv('../input/plant-pathology-2021-fgvc8/sample_submission.csv')\nsubmission.head()","metadata":{"id":"W8yV7Pan4lZO","executionInfo":{"status":"ok","timestamp":1626409709050,"user_tz":-480,"elapsed":420,"user":{"displayName":"ivy lu","photoUrl":"","userId":"08869534325210801489"}},"outputId":"ecfaa508-5615-495d-8239-94f7ed50d084","execution":{"iopub.status.busy":"2021-07-17T10:15:52.360368Z","iopub.execute_input":"2021-07-17T10:15:52.360706Z","iopub.status.idle":"2021-07-17T10:15:52.372972Z","shell.execute_reply.started":"2021-07-17T10:15:52.360679Z","shell.execute_reply":"2021-07-17T10:15:52.372284Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_generator = pre.flow_from_dataframe(\n                  new_train,\n                  directory = resize_img, \n                  x_col = 'image',\n                  y_col = new_train.columns.tolist()[1:],\n                  subset = \"training\",\n                  color_mode = \"rgb\",\n                  target_size = target_size,\n                  class_mode = \"raw\",\n                  batch_size = batch_size,\n                  shuffle = True,\n                  seed = seed,)\nvalid_generator = pre.flow_from_dataframe(\n                  new_train,\n                  directory = resize_img,\n                  x_col = 'image',\n                  y_col = new_train.columns.tolist()[1:],\n                  subset = \"validation\",\n                  color_mode = \"rgb\",\n                  target_size = target_size,\n                  class_mode = \"raw\",\n                  batch_size = batch_size,\n                  shuffle = True,\n                  seed = seed,)\ntest_generator = pos.flow_from_dataframe(\n                  submission,\n                  directory = test_img,\n                  x_col = 'image',\n                  y_col = 'labels',\n                  class_mode = None,\n                  batch_size=8,\n                  target_size = target_size,\n                  color_mode=\"rgb\",\n                  shuffle = False,\n                  seed = seed,)","metadata":{"id":"2qzpa52m4lZO","executionInfo":{"status":"ok","timestamp":1626409725560,"user_tz":-480,"elapsed":14820,"user":{"displayName":"ivy lu","photoUrl":"","userId":"08869534325210801489"}},"outputId":"587047e7-cc60-4852-d2c4-20e0c938abf4","execution":{"iopub.status.busy":"2021-07-17T10:15:52.374337Z","iopub.execute_input":"2021-07-17T10:15:52.374693Z","iopub.status.idle":"2021-07-17T10:15:59.527148Z","shell.execute_reply.started":"2021-07-17T10:15:52.374665Z","shell.execute_reply":"2021-07-17T10:15:59.526068Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import matplotlib.pyplot as plt \nexample = next(train_generator)\nprint(example[0].shape) \nplt.imshow(example[0][0,:,:,:]) \nplt.show()","metadata":{"execution":{"iopub.status.busy":"2021-07-17T10:18:10.936726Z","iopub.execute_input":"2021-07-17T10:18:10.937072Z","iopub.status.idle":"2021-07-17T10:18:12.070190Z","shell.execute_reply.started":"2021-07-17T10:18:10.937043Z","shell.execute_reply":"2021-07-17T10:18:12.069501Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import keras\ndef load_model():\n    model_pre = keras.models.load_model(\"../input/inceptionv3h5/299x299_V3.h5\")\n    \n    return model_pre\nmodel = load_model()","metadata":{"id":"aGqy9lEr4lZS","executionInfo":{"status":"ok","timestamp":1626431500287,"user_tz":-480,"elapsed":16839,"user":{"displayName":"ivy lu","photoUrl":"","userId":"08869534325210801489"}},"execution":{"iopub.status.busy":"2021-07-17T10:15:59.528756Z","iopub.execute_input":"2021-07-17T10:15:59.529187Z","iopub.status.idle":"2021-07-17T10:16:07.132152Z","shell.execute_reply.started":"2021-07-17T10:15:59.529142Z","shell.execute_reply":"2021-07-17T10:16:07.131228Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model = load_model()\npred = model.predict(test_generator)","metadata":{"id":"SKnxmDRT4lZT","executionInfo":{"status":"ok","timestamp":1626440421324,"user_tz":-480,"elapsed":13774,"user":{"displayName":"ivy lu","photoUrl":"","userId":"08869534325210801489"}},"execution":{"iopub.status.busy":"2021-07-17T10:16:07.134431Z","iopub.execute_input":"2021-07-17T10:16:07.134897Z","iopub.status.idle":"2021-07-17T10:16:15.753877Z","shell.execute_reply.started":"2021-07-17T10:16:07.134867Z","shell.execute_reply":"2021-07-17T10:16:15.752994Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"perdict = (pred>0.30)\nn_label = new_train.columns.tolist()[1:]\nanswer = []\n\nfor i in range(perdict.shape[0]):\n    temp = []\n    for j, k in enumerate(n_label):\n        if perdict[i, j]:\n            temp.append(k)\n    answer.append(temp)\n    \nanswer = [' '.join(n) for n in answer]","metadata":{"id":"BfdudNBq4lZT","executionInfo":{"status":"ok","timestamp":1626440440702,"user_tz":-480,"elapsed":453,"user":{"displayName":"ivy lu","photoUrl":"","userId":"08869534325210801489"}},"execution":{"iopub.status.busy":"2021-07-17T10:16:15.756012Z","iopub.execute_input":"2021-07-17T10:16:15.756284Z","iopub.status.idle":"2021-07-17T10:16:15.762408Z","shell.execute_reply.started":"2021-07-17T10:16:15.756257Z","shell.execute_reply":"2021-07-17T10:16:15.761425Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission['labels'] = np.array(answer)\nsubmission","metadata":{"id":"Qbv9SGm74lZT","executionInfo":{"status":"ok","timestamp":1626440446484,"user_tz":-480,"elapsed":557,"user":{"displayName":"ivy lu","photoUrl":"","userId":"08869534325210801489"}},"outputId":"e8df1062-44ba-4295-9e22-7312e948bfd4","execution":{"iopub.status.busy":"2021-07-17T10:16:15.763591Z","iopub.execute_input":"2021-07-17T10:16:15.763860Z","iopub.status.idle":"2021-07-17T10:16:15.780188Z","shell.execute_reply.started":"2021-07-17T10:16:15.763834Z","shell.execute_reply":"2021-07-17T10:16:15.779291Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission.to_csv('submission.csv', index=False)","metadata":{"id":"H7KCvpCL4lZT","executionInfo":{"status":"error","timestamp":1626440756188,"user_tz":-480,"elapsed":360,"user":{"displayName":"ivy lu","photoUrl":"","userId":"08869534325210801489"}},"outputId":"0d25da02-5e18-4615-a4ea-46845cff7862","execution":{"iopub.status.busy":"2021-07-17T10:16:15.781593Z","iopub.execute_input":"2021-07-17T10:16:15.781891Z","iopub.status.idle":"2021-07-17T10:16:15.790995Z","shell.execute_reply.started":"2021-07-17T10:16:15.781862Z","shell.execute_reply":"2021-07-17T10:16:15.790051Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# !mv /content/V3.h5 /content/drive/MyDrive/apple","metadata":{"id":"fKu8VYrlLgL9","executionInfo":{"status":"ok","timestamp":1626440451428,"user_tz":-480,"elapsed":374,"user":{"displayName":"ivy lu","photoUrl":"","userId":"08869534325210801489"}},"execution":{"iopub.status.busy":"2021-07-17T10:16:15.792439Z","iopub.execute_input":"2021-07-17T10:16:15.792886Z","iopub.status.idle":"2021-07-17T10:16:15.801135Z","shell.execute_reply.started":"2021-07-17T10:16:15.792846Z","shell.execute_reply":"2021-07-17T10:16:15.800521Z"},"trusted":true},"execution_count":null,"outputs":[]}]}