{"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":"markdown","source":"![image.jpeg](attachment:45c8b559-01f3-41fd-9275-ccf6174714ad.jpeg)","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2021-10-14T13:29:43.714252Z","iopub.execute_input":"2021-10-14T13:29:43.714516Z","iopub.status.idle":"2021-10-14T13:29:49.311347Z","shell.execute_reply.started":"2021-10-14T13:29:43.714416Z","shell.execute_reply":"2021-10-14T13:29:49.310612Z"}},"attachments":{"45c8b559-01f3-41fd-9275-ccf6174714ad.jpeg":{"image/jpeg":"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"}}},{"cell_type":"code","source":"from fastai.vision.all import *\nfrom fastai.callback.fp16 import *","metadata":{"execution":{"iopub.status.busy":"2021-10-14T14:04:42.01382Z","iopub.execute_input":"2021-10-14T14:04:42.014693Z","iopub.status.idle":"2021-10-14T14:04:47.712585Z","shell.execute_reply.started":"2021-10-14T14:04:42.014568Z","shell.execute_reply":"2021-10-14T14:04:47.711871Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!tree ../input/ -d","metadata":{"execution":{"iopub.status.busy":"2021-10-14T14:04:47.713956Z","iopub.execute_input":"2021-10-14T14:04:47.714247Z","iopub.status.idle":"2021-10-14T14:04:54.133923Z","shell.execute_reply.started":"2021-10-14T14:04:47.714212Z","shell.execute_reply":"2021-10-14T14:04:54.133112Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"DATA_DIR = Path('../input/cassava-leaf-disease-classification')\nTRAIN_DIR = DATA_DIR/'train_images'\nTEST_DIR = DATA_DIR/'test_images'\ntrain_csv_path = Path('../input/cassava-leaf-disease-classification/train.csv')\ntrain_df = pd.read_csv(train_csv_path)","metadata":{"execution":{"iopub.status.busy":"2021-10-14T14:04:54.136083Z","iopub.execute_input":"2021-10-14T14:04:54.136369Z","iopub.status.idle":"2021-10-14T14:04:54.168754Z","shell.execute_reply.started":"2021-10-14T14:04:54.13633Z","shell.execute_reply":"2021-10-14T14:04:54.168125Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def get_y(path):\n    fname = path.name\n    return train_df.query(\"image_id==@fname\").label.values[-1]","metadata":{"execution":{"iopub.status.busy":"2021-10-14T14:04:54.170151Z","iopub.execute_input":"2021-10-14T14:04:54.170553Z","iopub.status.idle":"2021-10-14T14:04:54.175447Z","shell.execute_reply.started":"2021-10-14T14:04:54.170512Z","shell.execute_reply":"2021-10-14T14:04:54.174395Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"cassava_data = DataBlock(blocks = (ImageBlock, CategoryBlock), \n                        get_items = get_image_files, \n                        splitter = RandomSplitter(seed=42),\n                        get_y = get_y, \n                        item_tfms = Resize(460),\n                        batch_tfms = [*aug_transforms(size=224, min_scale=0.75), Normalize.from_stats(*imagenet_stats)])\n\ndls = cassava_data.dataloaders(TRAIN_DIR, batch_size=32)","metadata":{"execution":{"iopub.status.busy":"2021-10-14T14:04:54.177942Z","iopub.execute_input":"2021-10-14T14:04:54.178367Z","iopub.status.idle":"2021-10-14T14:05:45.494664Z","shell.execute_reply.started":"2021-10-14T14:04:54.17833Z","shell.execute_reply":"2021-10-14T14:05:45.493926Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"dls.show_batch()","metadata":{"execution":{"iopub.status.busy":"2021-10-14T14:05:45.496532Z","iopub.execute_input":"2021-10-14T14:05:45.496818Z","iopub.status.idle":"2021-10-14T14:05:46.993845Z","shell.execute_reply.started":"2021-10-14T14:05:45.496782Z","shell.execute_reply":"2021-10-14T14:05:46.99304Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"len(dls.train.dataset), len(dls.valid.dataset)","metadata":{"execution":{"iopub.status.busy":"2021-10-14T14:05:46.994874Z","iopub.execute_input":"2021-10-14T14:05:46.995313Z","iopub.status.idle":"2021-10-14T14:05:47.002403Z","shell.execute_reply.started":"2021-10-14T14:05:46.995275Z","shell.execute_reply":"2021-10-14T14:05:47.001619Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"cassava_learn = cnn_learner(dls, resnet18, metrics=accuracy, loss_func=LabelSmoothingCrossEntropy(), cbs=MixUp(0.4))","metadata":{"execution":{"iopub.status.busy":"2021-10-14T14:08:47.64042Z","iopub.execute_input":"2021-10-14T14:08:47.641078Z","iopub.status.idle":"2021-10-14T14:08:51.488289Z","shell.execute_reply.started":"2021-10-14T14:08:47.641013Z","shell.execute_reply":"2021-10-14T14:08:51.487512Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"cassava_learn.unfreeze()\ncassava_learn.lr_find()","metadata":{"execution":{"iopub.status.busy":"2021-10-14T14:08:57.869497Z","iopub.execute_input":"2021-10-14T14:08:57.870273Z","iopub.status.idle":"2021-10-14T14:09:49.150582Z","shell.execute_reply.started":"2021-10-14T14:08:57.870223Z","shell.execute_reply":"2021-10-14T14:09:49.149869Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"learn = cnn_learner(dls, resnet18, metrics=accuracy, loss_func=LabelSmoothingCrossEntropy(), cbs=MixUp(0.4), model_dir='/tmp/models').to_fp16()\nlearn.unfreeze()\nlearn.fit_one_cycle(5, lr_max = 1e-3)","metadata":{"execution":{"iopub.status.busy":"2021-10-14T14:11:08.436342Z","iopub.execute_input":"2021-10-14T14:11:08.436987Z","iopub.status.idle":"2021-10-14T14:39:04.334086Z","shell.execute_reply.started":"2021-10-14T14:11:08.436944Z","shell.execute_reply":"2021-10-14T14:39:04.333353Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sample_df = pd.read_csv(DATA_DIR/'sample_submission.csv')\nsample_df.head()","metadata":{"execution":{"iopub.status.busy":"2021-10-14T14:42:05.358148Z","iopub.execute_input":"2021-10-14T14:42:05.358982Z","iopub.status.idle":"2021-10-14T14:42:05.383908Z","shell.execute_reply.started":"2021-10-14T14:42:05.35894Z","shell.execute_reply":"2021-10-14T14:42:05.383035Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test_data_path = sample_df['image_id'].apply(lambda x: DATA_DIR/'test_images'/x)\ntst_dl = learn.dls.test_dl(test_data_path)","metadata":{"execution":{"iopub.status.busy":"2021-10-14T14:42:08.787862Z","iopub.execute_input":"2021-10-14T14:42:08.788167Z","iopub.status.idle":"2021-10-14T14:42:08.797159Z","shell.execute_reply.started":"2021-10-14T14:42:08.788136Z","shell.execute_reply":"2021-10-14T14:42:08.796436Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"predictions = learn.tta(dl = tst_dl, n=10, beta=0)\n\nsample_df['label'] = np.argmax(predictions[0],axis=1)\nsample_df","metadata":{"execution":{"iopub.status.busy":"2021-10-14T14:42:50.186104Z","iopub.execute_input":"2021-10-14T14:42:50.187034Z","iopub.status.idle":"2021-10-14T14:42:51.883633Z","shell.execute_reply.started":"2021-10-14T14:42:50.186992Z","shell.execute_reply":"2021-10-14T14:42:51.882843Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Please Upvote if you liked the work. Thanks :)","metadata":{}},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}