{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.12","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":91844,"databundleVersionId":11361821,"sourceType":"competition"}],"dockerImageVersionId":30918,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import numpy as np\nimport pandas as pd\nimport os\nfrom sklearn.model_selection import train_test_split\nfrom torch.utils.data import DataLoader, Dataset\n\n\nclass_labels = sorted(os.listdir('../input/birdclef-2025/train_audio/'))\ntrain_meta = pd.read_csv('/kaggle/input/birdclef-2025/train.csv')\n\nclass BirdclefDataset(Dataset):\n    def __init__(self, df, mode='train'):\n        self.df = df\n        self.mode = mode\n\n    def __getitem__(self, index):\n        target = self.df.iloc[index].primary_label\n        y = np.array([1 if item == target else 0 for item in class_labels])\n        return y\n        \n    def __len__(self):\n        return len(self.df)\n\n\ntrain_df, val_df = train_test_split(train_meta, test_size=0.2, random_state=42)\nval_dataset = BirdclefDataset(val_df, mode='val')\n\nval_loader = DataLoader(val_dataset, batch_size=24, shuffle=False, num_workers=1,drop_last=True)\n\nsum(len(batch) for batch in val_loader), len(val_df)","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true,"execution":{"iopub.status.busy":"2025-03-16T20:14:09.905472Z","iopub.execute_input":"2025-03-16T20:14:09.905877Z","iopub.status.idle":"2025-03-16T20:14:11.543712Z","shell.execute_reply.started":"2025-03-16T20:14:09.905844Z","shell.execute_reply":"2025-03-16T20:14:11.542042Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]}