Learn practical skills, build real-world projects, and advance your career

10 Monkey Species Classification using Logistic Regression in PyTorch

Dataset can be downloaded from Kaggle: https://www.kaggle.com/slothkong/10-monkey-species

The dataset contains images of 10 monkey species which includes:

  • n0 --> alouattapalliata
  • n1 --> erythrocebuspatas
  • n2 --> cacajaocalvus
  • n3 --> macacafuscata
  • n4 --> cebuellapygmea
  • n5 --> cebuscapucinus
  • n6 --> micoargentatus
  • n7 --> saimirisciureus
  • n8 --> aotusnigriceps
  • n9 --> trachypithecusjohnii

There are two files in the dataset training and validation files.
Both training and validation folder contains 10 subfolders labelled as n0-n9, representing a species of monkey as labeled above.

Each images are at least 400 x 300 px [JPEG format]

  • Total number of images in training folder: 1096
  • Total number of images in validation folder: 272
# Import relevant libraries

import torch
import jovian
import torchvision
import torchvision.transforms as transforms
import torch.nn as nn
import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import seaborn as sns
import torch.nn.functional as F
from torchvision.datasets.utils import download_url
from torch.utils.data import DataLoader, TensorDataset, random_split

from PIL import Image
import glob
project_name='10-Monkey-Species-Classification' # will be used by jovian.commit
jovian.commit(project=project_name)
[jovian] Attempting to save notebook.. [jovian] Updating notebook "karthicksothivelr/10-monkey-species-classification" on https://jovian.ml/ [jovian] Uploading notebook.. [jovian] Capturing environment.. [jovian] Committed successfully! https://jovian.ml/karthicksothivelr/10-monkey-species-classification
# Hyperparameters
batch_size = 16
learning_rate = 1e-3

jovian.reset()
jovian.log_hyperparams(batch_size=batch_size, learning_rate=learning_rate)
[jovian] Hyperparams logged.