{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.14","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"gpu","dataSources":[{"sourceId":13836,"databundleVersionId":1718836,"sourceType":"competition"},{"sourceId":9631568,"sourceType":"datasetVersion","datasetId":5880049},{"sourceId":9802908,"sourceType":"datasetVersion","datasetId":6008281},{"sourceId":9802990,"sourceType":"datasetVersion","datasetId":6008343},{"sourceId":9805085,"sourceType":"datasetVersion","datasetId":6009910},{"sourceId":9812976,"sourceType":"datasetVersion","datasetId":6015929}],"dockerImageVersionId":30786,"isInternetEnabled":false,"language":"python","sourceType":"notebook","isGpuEnabled":true}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import os\nimport glob\nimport math\nimport numpy as np \nimport pandas as pd \nimport tensorflow as tf\nimport tensorflow.keras.backend as K\nimport matplotlib.pyplot as plt\nimport tensorflow_hub as hub\n\nsub = pd.read_csv('/kaggle/input/cassava-leaf-disease-classification/sample_submission.csv', index_col=0)\n\nfs = sub.index\n\ndef read_tfrecord(filename):\n    filename = tf.strings.join([\"/kaggle/input/cassava-leaf-disease-classification/test_images/\", filename])\n    b = tf.io.read_file(filename)\n    image = tf.image.decode_jpeg(b)\n    image = tf.image.resize(image, [512, 512])\n    image = tf.cast(image, tf.float32) / 255.0\n    return image\n\nAUTO = tf.data.experimental.AUTOTUNE\n\ndataset = tf.data.Dataset.from_tensor_slices(fs)\ndataset = dataset.map(read_tfrecord, num_parallel_calls=AUTO)\ndataset = dataset.prefetch(AUTO)\ndataset = dataset.batch(1)","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2024-11-06T14:06:08.579274Z","iopub.execute_input":"2024-11-06T14:06:08.579614Z","iopub.status.idle":"2024-11-06T14:06:24.182348Z","shell.execute_reply.started":"2024-11-06T14:06:08.579578Z","shell.execute_reply":"2024-11-06T14:06:24.181333Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model_xcep = tf.keras.models.load_model('/kaggle/input/modelv2/xception_modelV2.keras')\nmodel_vgg = tf.keras.models.load_model('/kaggle/input/modelv2/VGG16_modelV2.keras')\nmodel_res = tf.keras.models.load_model('/kaggle/input/model-v2/trainedmodel_v2.keras')","metadata":{"execution":{"iopub.status.busy":"2024-11-06T14:06:24.184247Z","iopub.execute_input":"2024-11-06T14:06:24.184547Z","iopub.status.idle":"2024-11-06T14:06:52.923099Z","shell.execute_reply.started":"2024-11-06T14:06:24.184515Z","shell.execute_reply":"2024-11-06T14:06:52.922182Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"for i, image in enumerate(dataset.as_numpy_iterator()): \n    pred_res = model_res.predict(image)[0] * 0.3\n    pred_xcep = model_xcep.predict(image)[0] * 0.2\n    pred_vgg = model_vgg.predict(image)[0] * 0.1\n\n    group1 =  np.argmax((pred_res + pred_xcep)/2)\n    confidence_g1 = ((pred_res + pred_xcep)/2)[group1]\n    \n    group2 =  np.argmax((pred_vgg + pred_res)/2)\n    confidence_g2 = ((pred_vgg + pred_res)/2)[group2]\n    \n    group3 =  np.argmax((pred_vgg + pred_xcep)/2)\n    confidence_g3 = ((pred_vgg + pred_xcep)/2)[group3]\n    \n    group4 =  np.argmax((pred_xcep + pred_vgg + pred_res)/3)\n    confidence_g4 = ((pred_xcep + pred_vgg + pred_res)/3)[group4]\n    \n    confidenceArr = np.array([confidence_g1, confidence_g2,confidence_g3,confidence_g4])\n    arr = np.array([group1, group2,group3,group4])\n    \n    unique_elements, counts = np.unique(arr, return_counts=True)\n\n    if np.max(counts) == 1:\n        sub.iloc[i, 0] = arr[np.argmax(confidenceArr)]\n    else:\n        sub.iloc[i, 0] = unique_elements[np.argmax(counts)]\n        \n    \nsub.to_csv('submission.csv')\n\nsub","metadata":{"execution":{"iopub.status.busy":"2024-11-06T14:09:52.774139Z","iopub.execute_input":"2024-11-06T14:09:52.774547Z","iopub.status.idle":"2024-11-06T14:09:53.053725Z","shell.execute_reply.started":"2024-11-06T14:09:52.774504Z","shell.execute_reply":"2024-11-06T14:09:53.052551Z"},"trusted":true},"execution_count":null,"outputs":[]}]}