{"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":"#cnn params\n\ninit_width = 32\n#dataloader params\nbatch_size = 100\nl_rate = 0.001\nmomentum = 0.0\nweight_decay = 0.0\ndampening = 0.0\nnesterov = 0 #0 or 1\nlr_gamma = 0.9\nepochs = 100\n#transforms params\ntrans_probability = 0.5\nmax_rotation_right = 9\nmax_rotation_left = 9\nmax_factor = 1.15\nmin_factor = 1.05\ngrid_height = 5\ngrid_width = 5\nmagnitude = 3\nbrightness = 2\ncontrast   = 2\ntranslate  = 0.1\nblur_max = 3\nblur_min = 0.5\nblur_kernel = 5\nnegative_slope = 0.1\nopt_kwargs = dict(batch_size=batch_size,\n                  l_rate=l_rate,\n                  lr_gamma=lr_gamma,\n                  momentum=momentum,\n                  weight_decay=weight_decay,\n                  dampening=dampening,\n                  nesterov=nesterov,\n                  probability=trans_probability,\n                  max_rotation_right=max_rotation_right,\n                  max_rotation_left=max_rotation_left,\n                  max_factor=max_factor,\n                  min_factor=min_factor,\n                  grid_height=grid_height,\n                  grid_width=grid_width,\n                  magnitude=magnitude,\n                  init_width=init_width,\n                  brightness=brightness,\n                  contrast = contrast,\n                  translate=translate,\n                  blur_kernel = blur_kernel,\n                  blur_min = blur_min,\n                  blur_max = blur_max,\n                \n                  )\noptimizer = 'adam'","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2022-10-31T14:02:35.703568Z","iopub.execute_input":"2022-10-31T14:02:35.704760Z","iopub.status.idle":"2022-10-31T14:02:35.764424Z","shell.execute_reply.started":"2022-10-31T14:02:35.704633Z","shell.execute_reply":"2022-10-31T14:02:35.763476Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!pip install Augmentor --no-index --find-links=///kaggle/input/augmentor/Augmentor\n","metadata":{"execution":{"iopub.status.busy":"2022-10-31T14:02:35.766593Z","iopub.execute_input":"2022-10-31T14:02:35.767020Z","iopub.status.idle":"2022-10-31T14:02:51.190571Z","shell.execute_reply.started":"2022-10-31T14:02:35.766941Z","shell.execute_reply":"2022-10-31T14:02:51.189193Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import sys,os\nsys.path.append('../input/mypackage/mypackage')\nfrom train import Trainer\nfrom DataManipulation import MnistDataset, DataLoader\nimport torch\nfrom Architectures import simple_model,mnist_model,mnist_model_pool,Network,mnist_model_pool3fc, mnist_model_pool_kern5\nimport pandas as pd\n\n\ntest_path = \"../input/Kannada-MNIST/test.csv\"\ntrain_path = \"../input/Kannada-MNIST/train.csv\"\nsample_submission = \"../input/Kannada-MNIST/sample_submission.csv\"\nchckpt_path = \"../input/mnist-model-pool3fc/mnist_model_pool3fc/1/checkpoint_epoch_100.pt\"\nfor path in [test_path,train_path,sample_submission]:\n    if os.path.isfile(path): \n        print('found data at '+path)\n    else:\n        print('did not find data at '+path)","metadata":{"execution":{"iopub.status.busy":"2022-10-31T14:02:51.193132Z","iopub.execute_input":"2022-10-31T14:02:51.193452Z","iopub.status.idle":"2022-10-31T14:02:56.770293Z","shell.execute_reply.started":"2022-10-31T14:02:51.193420Z","shell.execute_reply":"2022-10-31T14:02:56.769219Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"\n\nmodel      = mnist_model_pool3fc(init_width=init_width)\nlog_loc = './logs'\nmy_trainer = Trainer(model,kwargs=opt_kwargs,log_dir=log_loc,create_save_loc=True,transform=True,\n                     train_file=train_path,val_file=test_path,write_logs=False)\n# my_trainer.train(epochs=epochs)","metadata":{"execution":{"iopub.status.busy":"2022-10-31T14:03:10.162567Z","iopub.execute_input":"2022-10-31T14:03:10.163204Z","iopub.status.idle":"2022-10-31T14:03:20.553673Z","shell.execute_reply.started":"2022-10-31T14:03:10.163166Z","shell.execute_reply":"2022-10-31T14:03:20.552591Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from custom_transforms import create_train_test_transform\ncheckpoint = torch.load(chckpt_path)\nmodel.load_state_dict(checkpoint['net'])\nmodel.to(my_trainer.device)\nmodel.eval()\ntrain_trans,test_trans = create_train_test_transform(log_dir='./')\nsubmission_dataset = MnistDataset(csvfile=test_path,im_size=(28,28),transforms=test_trans)\n\nsubmission_loader  = DataLoader(submission_dataset,batch_size=100)\npredictions = torch.LongTensor().to(my_trainer.device)\nfor i,data in enumerate(submission_loader):\n    if i ==0:\n        print(data[0].size())\n    preds = model(data[0].to(my_trainer.device,dtype=torch.float))\n\n    predictions = torch.cat((predictions, preds.argmax(dim=1)), dim=0)\nsubmission_file = pd.read_csv(sample_submission)\nsubmission_file['label'] = predictions.cpu().numpy()\nsubmission_file.to_csv(\"submission.csv\", index=False)","metadata":{"execution":{"iopub.status.busy":"2022-10-31T14:03:20.555857Z","iopub.execute_input":"2022-10-31T14:03:20.556274Z","iopub.status.idle":"2022-10-31T14:03:36.317111Z","shell.execute_reply.started":"2022-10-31T14:03:20.556234Z","shell.execute_reply":"2022-10-31T14:03:36.316166Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission_file","metadata":{"execution":{"iopub.status.busy":"2022-10-21T10:23:28.706721Z","iopub.execute_input":"2022-10-21T10:23:28.707136Z","iopub.status.idle":"2022-10-21T10:23:28.725952Z","shell.execute_reply.started":"2022-10-21T10:23:28.707101Z","shell.execute_reply":"2022-10-21T10:23:28.725104Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# %load_ext tensorboard\n# %tensorboard --logdir logs --bind_all","metadata":{"execution":{"iopub.status.busy":"2022-10-21T10:24:45.134842Z","iopub.execute_input":"2022-10-21T10:24:45.135961Z","iopub.status.idle":"2022-10-21T10:24:49.230485Z","shell.execute_reply.started":"2022-10-21T10:24:45.135918Z","shell.execute_reply":"2022-10-21T10:24:49.229331Z"},"trusted":true},"execution_count":null,"outputs":[]}]}