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

Image Classification using Convolutional Neural Networks in PyTorch

import os
import torch
import torchvision
import tarfile
import torch.nn as nn
import numpy as np
import torch.nn.functional as F
from torchvision.datasets.utils import download_url
from torchvision.datasets import ImageFolder
from torch.utils.data import DataLoader
import torchvision.transforms as tt
from torch.utils.data import random_split
from torchvision.utils import make_grid
import matplotlib.pyplot as plt
%matplotlib inline
!pip install jovian
import jovian
Collecting jovian Downloading jovian-0.2.15-py2.py3-none-any.whl (94 kB) |████████████████████████████████| 94 kB 1.6 MB/s eta 0:00:011 Requirement already satisfied: pyyaml in /opt/conda/lib/python3.7/site-packages (from jovian) (5.3.1) Requirement already satisfied: click in /opt/conda/lib/python3.7/site-packages (from jovian) (7.1.1) Requirement already satisfied: requests in /opt/conda/lib/python3.7/site-packages (from jovian) (2.23.0) Collecting uuid Downloading uuid-1.30.tar.gz (5.8 kB) Requirement already satisfied: idna<3,>=2.5 in /opt/conda/lib/python3.7/site-packages (from requests->jovian) (2.9) Requirement already satisfied: chardet<4,>=3.0.2 in /opt/conda/lib/python3.7/site-packages (from requests->jovian) (3.0.4) Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/lib/python3.7/site-packages (from requests->jovian) (2020.4.5.2) Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /opt/conda/lib/python3.7/site-packages (from requests->jovian) (1.24.3) Building wheels for collected packages: uuid Building wheel for uuid (setup.py) ... done Created wheel for uuid: filename=uuid-1.30-py3-none-any.whl size=6500 sha256=3ffc998906474c74d3cf11f965c9746e43ca18c1975cebd7a6b4884d53d22f19 Stored in directory: /root/.cache/pip/wheels/2a/ea/87/dd57f1ecb4f0752f3e1dbf958ebf8b36d920d190425bcdc24d Successfully built uuid Installing collected packages: uuid, jovian Successfully installed jovian-0.2.15 uuid-1.30
project_name='05-cifar100-cnn-live'

Exploring the Data

We'll download the images in PNG format from this page, using some helper functions from the torchvision and tarfile packages.

# Dowload the dataset
dataset_url = "https://s3.amazonaws.com/fast-ai-imageclas/imagenette-160.tgz"
download_url(dataset_url, '.')
HBox(children=(FloatProgress(value=1.0, bar_style='info', max=1.0), HTML(value='')))