{"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":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\n# for dirname, _, filenames in os.walk('/kaggle/input'):\n#     for filename in filenames:\n#         print(os.path.join(dirname, filename))\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2022-05-25T17:20:51.809953Z","iopub.execute_input":"2022-05-25T17:20:51.810397Z","iopub.status.idle":"2022-05-25T17:20:51.836257Z","shell.execute_reply.started":"2022-05-25T17:20:51.810316Z","shell.execute_reply":"2022-05-25T17:20:51.835613Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!git clone 'https://github.com/theamandawang/projects-skeleton-code.git'\n\n!ls","metadata":{"execution":{"iopub.status.busy":"2022-05-25T17:20:51.838042Z","iopub.execute_input":"2022-05-25T17:20:51.838501Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"%cd projects-skeleton-code\n","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!ls\n!git checkout amanda\n!git fetch\n!git pull","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"cd /kaggle/working/projects-skeleton-code","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import constants\nPATH_TO_DATA = '/kaggle/input/cassava-leaf-disease-classification/'","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!ls ../../input","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import os\nimport numpy as np\nimport torch\nimport constants\nfrom data.StartingDataset import StartingDataset\nfrom networks.StartingNetwork import StartingNetwork\nfrom train_functions.starting_train import starting_train\nconstants.PATH_TO_DATA = '/kaggle/input/cassava-leaf-disease-classification/'\n\n# Get command line arguments\nhyperparameters = {\"epochs\": constants.EPOCHS,\n                   \"batch_size\": constants.BATCH_SIZE}\n\n# TODO: Add GPU support. This line of code might be helpful.\n# device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n\nprint(\"Epochs:\", constants.EPOCHS)\nprint(\"Batch size:\", constants.BATCH_SIZE)\n\n# trainset = torchvision.datasets.CIFAR10(root='./data', train=True,\n#                                         download=True, transform=None)\n\n\n# Initalize dataset and model. Then train the model!\ntrain_dataset = StartingDataset(True, datapath='/kaggle/input/cassava-leaf-disease-classification/')\nval_dataset = StartingDataset(False, datapath='/kaggle/input/cassava-leaf-disease-classification/')\n# samp1 = np.random.choice(len(train_dataset), size=int(0.1*len(train_dataset)), replace=False)\n# samp2 = np.random.choice(len(val_dataset), size=int(0.1*len(val_dataset)), replace=False)\n\n# trainset_1 = torch.utils.data.Subset(train_dataset, samp1)\n# valset_1 = torch.utils.data.Subset(train_dataset, samp2)\n# trainset_2 = torch.utils.data.Subset(train_dataset, odds)\n\n# trainloader_1 = torch.utils.data.DataLoader(trainset_1, batch_size=4, shuffle=True, num_workers=2)\n# valloader_1 = torch.utils.data.DataLoader(valset_1, batch_size=4,\n#                                      shuffle=True, num_workers=2)\nmodel = StartingNetwork()\nstarting_train(\n    train_dataset=train_dataset,\n    val_dataset=val_dataset,\n    model=model,\n    hyperparameters=hyperparameters,\n    n_eval=constants.N_EVAL,\n)","metadata":{"trusted":true},"execution_count":null,"outputs":[]}]}