{"metadata":{"kaggle":{"accelerator":"gpu","dataSources":[{"sourceId":71549,"databundleVersionId":8561470,"sourceType":"competition"}],"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":true},"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.7.12"},"papermill":{"default_parameters":{},"duration":17947.044951,"end_time":"2024-07-21T19:59:57.358595","environment_variables":{},"exception":null,"input_path":"__notebook__.ipynb","output_path":"__notebook__.ipynb","parameters":{},"start_time":"2024-07-21T15:00:50.313644","version":"2.5.0"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import pandas as pd\nimport matplotlib.pyplot as plt\nimport pydicom\nimport numpy as np\nimport os\nimport glob\nfrom tqdm import tqdm\nimport gc\n\nimport torchvision\nimport torch\nimport torch.nn as nn\nfrom torch.utils.data import Dataset\nfrom fastai.vision.all import *\nimport segmentation_models_pytorch as smp\n\ndevice = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")","metadata":{"execution":{"iopub.execute_input":"2024-07-21T15:00:53.042579Z","iopub.status.busy":"2024-07-21T15:00:53.042231Z","iopub.status.idle":"2024-07-21T15:01:24.461173Z","shell.execute_reply":"2024-07-21T15:01:24.460287Z"},"papermill":{"duration":31.433451,"end_time":"2024-07-21T15:01:24.463598","exception":false,"start_time":"2024-07-21T15:00:53.030147","status":"completed"},"tags":[]},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"CV = 5\nSEED = 777\nFOLDS = [1,2,3,4,5]","metadata":{"execution":{"iopub.execute_input":"2024-07-21T15:01:24.492075Z","iopub.status.busy":"2024-07-21T15:01:24.491716Z","iopub.status.idle":"2024-07-21T15:01:24.496542Z","shell.execute_reply":"2024-07-21T15:01:24.495663Z"},"papermill":{"duration":0.021232,"end_time":"2024-07-21T15:01:24.498504","exception":false,"start_time":"2024-07-21T15:01:24.477272","status":"completed"},"tags":[]},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train = pd.read_csv('C:/Users/Angel/kaggle/train.csv')\ntrain.tail()","metadata":{"execution":{"iopub.execute_input":"2024-07-21T15:01:24.525912Z","iopub.status.busy":"2024-07-21T15:01:24.525562Z","iopub.status.idle":"2024-07-21T15:01:24.582054Z","shell.execute_reply":"2024-07-21T15:01:24.581132Z"},"papermill":{"duration":0.073089,"end_time":"2024-07-21T15:01:24.584605","exception":false,"start_time":"2024-07-21T15:01:24.511516","status":"completed"},"tags":[]},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"lforaminal = list(filter(lambda x: x.find('left_neural') > -1, train.columns))\nrforaminal = list(filter(lambda x: x.find('right_neural') > -1, train.columns))\nlsubarticular = list(filter(lambda x: x.find('left_subarticular') > -1, train.columns))\nrsubarticular = list(filter(lambda x: x.find('right_subarticular') > -1, train.columns))\nspinal = list(filter(lambda x: x.find('right_subarticular') > -1, train.columns))","metadata":{"execution":{"iopub.execute_input":"2024-07-21T15:01:24.615653Z","iopub.status.busy":"2024-07-21T15:01:24.614743Z","iopub.status.idle":"2024-07-21T15:01:24.643601Z","shell.execute_reply":"2024-07-21T15:01:24.642652Z"},"papermill":{"duration":0.047003,"end_time":"2024-07-21T15:01:24.645592","exception":false,"start_time":"2024-07-21T15:01:24.598589","status":"completed"},"tags":[]},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train = train[train[lforaminal+rforaminal+lsubarticular+rsubarticular+spinal].isnull().values.sum(1)<25].reset_index(drop=True)\ntrain.tail()","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"v = np.unique(train['study_id'])\nL = len(v)\ns = L/CV\nfold_indices = list(np.rint(np.arange(CV)*s).astype(int))+[L]\n\nfor i in range(CV):\n    print(len(v[fold_indices[i]:fold_indices[i+1]]))\n    train.loc[train['study_id'].isin(v[fold_indices[i]:fold_indices[i+1]]),'fold'] = i+1\ntrain.tail()","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train.to_csv('train_split.csv',index=False)","metadata":{},"execution_count":null,"outputs":[]}]}