{"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.7.12","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"vscode":{"interpreter":{"hash":"916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1"}}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import torch\nimport torch.nn as nn\nimport torch.nn.functional as F\nimport torch.optim as optim\nfrom torchvision import transforms as T\nimport numpy as np\nimport pandas as pd\nfrom PIL import Image\nimport matplotlib.pyplot as plt\nfrom tqdm import tqdm\nimport os\n\nBASE_DIR = \"/kaggle/input/100-bird-species\"\ndevice = \"cuda\" if torch.cuda.is_available() else \"cpu\"\nprint(\"Device:\", device)","metadata":{"execution":{"iopub.status.busy":"2023-01-08T12:23:54.649487Z","iopub.execute_input":"2023-01-08T12:23:54.650306Z","iopub.status.idle":"2023-01-08T12:23:55.519375Z","shell.execute_reply.started":"2023-01-08T12:23:54.650185Z","shell.execute_reply":"2023-01-08T12:23:55.518243Z"},"trusted":true},"execution_count":1,"outputs":[{"name":"stdout","text":"Device: cuda\n","output_type":"stream"}]},{"cell_type":"code","source":"paths_df = pd.read_csv(os.path.join(BASE_DIR, \"birds.csv\"))\npaths_df.drop(46620, axis= 0, inplace=True)\nlabels = paths_df[\"class id\"].unique()\nbird_name_map = {i: paths_df[paths_df[\"class id\"] == i][\"labels\"].values[0] for i in labels}\n","metadata":{"execution":{"iopub.status.busy":"2023-01-08T12:23:55.522749Z","iopub.execute_input":"2023-01-08T12:23:55.523152Z","iopub.status.idle":"2023-01-08T12:23:55.887456Z","shell.execute_reply.started":"2023-01-08T12:23:55.523125Z","shell.execute_reply":"2023-01-08T12:23:55.886417Z"},"trusted":true},"execution_count":2,"outputs":[]},{"cell_type":"code","source":"paths_df.head()","metadata":{"execution":{"iopub.status.busy":"2023-01-08T12:23:55.888912Z","iopub.execute_input":"2023-01-08T12:23:55.889322Z","iopub.status.idle":"2023-01-08T12:23:55.909493Z","shell.execute_reply.started":"2023-01-08T12:23:55.889283Z","shell.execute_reply":"2023-01-08T12:23:55.908557Z"},"trusted":true},"execution_count":3,"outputs":[{"execution_count":3,"output_type":"execute_result","data":{"text/plain":" class id filepaths labels \\\n0 0 train/ABBOTTS BABBLER/001.jpg ABBOTTS BABBLER \n1 0 train/ABBOTTS BABBLER/002.jpg ABBOTTS BABBLER \n2 0 train/ABBOTTS BABBLER/003.jpg ABBOTTS BABBLER \n3 0 train/ABBOTTS BABBLER/004.jpg ABBOTTS BABBLER \n4 0 train/ABBOTTS BABBLER/005.jpg ABBOTTS BABBLER \n\n scientific label data set \n0 Malacocincla abbotti train \n1 Malacocincla abbotti train \n2 Malacocincla abbotti train \n3 Malacocincla abbotti train \n4 Malacocincla abbotti train ","text/html":"
\n | class id | \nfilepaths | \nlabels | \nscientific label | \ndata set | \n
---|---|---|---|---|---|
0 | \n0 | \ntrain/ABBOTTS BABBLER/001.jpg | \nABBOTTS BABBLER | \nMalacocincla abbotti | \ntrain | \n
1 | \n0 | \ntrain/ABBOTTS BABBLER/002.jpg | \nABBOTTS BABBLER | \nMalacocincla abbotti | \ntrain | \n
2 | \n0 | \ntrain/ABBOTTS BABBLER/003.jpg | \nABBOTTS BABBLER | \nMalacocincla abbotti | \ntrain | \n
3 | \n0 | \ntrain/ABBOTTS BABBLER/004.jpg | \nABBOTTS BABBLER | \nMalacocincla abbotti | \ntrain | \n
4 | \n0 | \ntrain/ABBOTTS BABBLER/005.jpg | \nABBOTTS BABBLER | \nMalacocincla abbotti | \ntrain | \n