{ "cells": [ { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "from __future__ import print_function, division\n", "\n", "import torch\n", "import torch.nn as nn\n", "import torch.optim as optim\n", "from torch.optim import lr_scheduler\n", "\n", "import torchvision\n", "import torchvision.transforms as transforms\n", "from torchvision import datasets, models\n", "\n", "import os\n", "import time\n", "import copy\n", "import pickle\n", "\n", "import pandas as pd\n", "import matplotlib.pylab as plt\n", "import numpy as np\n", "from PIL import Image\n", "import glob\n", "import random" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Device:: cuda:0\n" ] } ], "source": [ "# Setup the device to run the computations\n", "device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n", "print('Device::', device)" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "# Script runtime options\n", "model_name = 'resnet152'\n", "model_func = models.resnet152\n", "root_dir = '../data'\n", "data_dir = os.path.join(root_dir,'species_dataset')\n", "working_dir = os.path.join('models/classification', model_name)\n", "batch_size = 16\n", "num_workers = 4\n", "num_epochs = 40" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Setup the model and optimiser\n", "model_ft = models.resnet152(pretrained=True)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | sp_code | \n", "sp_latin | \n", "sp_fr | \n", "
---|---|---|---|
0 | \n", "cyacae | \n", "Cyanistes caeruleus | \n", "Mésange bleue | \n", "
1 | \n", "parmaj | \n", "Parus major | \n", "Mésange charbonnière | \n", "
2 | \n", "erirub | \n", "Erithacus rubecula | \n", "Rougegorge familier | \n", "
3 | \n", "prumod | \n", "Prunella modularis | \n", "Accenteur mouchet | \n", "
4 | \n", "pasdom | \n", "Passer domesticus | \n", "Moineau domestique | \n", "
5 | \n", "turmer | \n", "Turdus merula | \n", "Merle noir | \n", "
6 | \n", "felcat | \n", "Felix catus | \n", "Chat domestique | \n", "
7 | \n", "fricoe | \n", "Fringilla coelebs | \n", "Pinson des arbres | \n", "
8 | \n", "stedec | \n", "Streptopelia decaocto | \n", "Tourterelle turque | \n", "
9 | \n", "carcar | \n", "Carduelis carduelis | \n", "Chardonneret élégant | \n", "