{"cells":[{"metadata":{"_uuid":"323c3558-6e27-4d88-9e30-f0420f33008a","_cell_guid":"0010191d-f773-424a-b511-06184d3724ff","trusted":true},"cell_type":"code","source":"import os\nimport pandas as pd\nfrom glob import glob\n\nfrom utility import RetinaDataLoader, RetinaDataset, Transform\nfrom network import ResnetModel","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"ls \"../input/aptos2019-blindness-detection/\"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# Define training labels adn training directory\ntr_labels = pd.read_csv(\"../input/aptos2019-blindness-detection/train.csv\")\ntr_directory = \"../input/aptos2019-blindness-detection/train_images/\"\n\n# Define test labels and test directory\nte_labels = pd.read_csv(\"../input/aptos2019-blindness-detection/test.csv\")\nte_directory = \"../input/aptos2019-blindness-detection/test_images/\"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# Splitting training labels into training and validation sets\nval_labels = tr_labels.sample(frac=0.15)\ntr_labels = tr_labels.iloc[pd.Int64Index(set(tr_labels.index) - set(val_labels.index))]\n\nval_labels.reset_index(inplace=True, drop=True)\ntr_labels.reset_index(inplace=True, drop=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# Initialize dataset\ntransform = Transform()\ntr_dataset = RetinaDataset(labels=tr_labels, directory=tr_directory, transform=transform.transform)\nval_dataset = RetinaDataset(labels=val_labels, directory=tr_directory, transform=transform.transform)\nte_dataset = RetinaDataset(labels=te_labels, directory=te_directory, test=True, transform=transform.transform)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# Initialize dataloader\ndataloader = RetinaDataLoader(tr_ds=tr_dataset, val_ds=val_dataset, te_ds=te_dataset)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"num_classes = tr_labels['diagnosis'].unique().shape[0]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"resnet = ResnetModel()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"_, input_size = resnet.initialize_model(num_classes=num_classes, feature_extraction=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"optimizer, scheduler, loss_func = resnet.optimizer()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"resnet.train(dataloaders=dataloader, optimizer=optimizer, loss_func=loss_func, scheduler=scheduler, device=\"cuda\", num_epochs=3)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# Predictions on the test data\npredictions = resnet.test(dataloader=dataloader, device=\"cuda\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"predictions = [int(i) for i in predictions]\nte_labels['diagnosis'] = predictions\nte_labels.to_csv(\"submission.csv\", index=False)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"raw","source":""}],"metadata":{"language_info":{"name":"python","version":"3.6.6","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"}},"nbformat":4,"nbformat_minor":1}