Skip to content

DummyTrutle/alexnet-pytorch

 
 

Repository files navigation

Pytorch implementation of AlexNet

  • Now compatible with pytorch==0.4.0

This is an implementaiton of AlexNet, as introduced in the paper "ImageNet Classification with Deep Convolutional Neural Networks" by Alex Krizhevsky et al. (original paper)

This was the first very successful CNN for image classification that led to breakout of deep learning 'hype', as well as the first successful example of utilizing dropout layers.

Prerequisites

  • python >= 3.5
  • pytorch==0.4.0

You can install required packages by:

pip3 install -r requirements.txt

DataSet

This implemenation uses the ILSVRC 2012 dataset, also known as the 'ImageNet 2012 dataset'. The data size is dreadfully large (138G!), but this amount of large-sized dataset is required for successful training of AlexNet. Testing with Tiny ImageNet or MNIST could not be done due to their smaller feature sizes (images do not fit the input size 227 x 227).

After downloading the dataset file (i.e., ILSVRC2012_img_train.tar), use extract_imagenet.sh to extract the entire dataset.

extract_imagenet.sh

ImageNet 2012's dataset structure is already arranged as /root/[class]/[img_id].jpeg, so using torchvision.datasets.ImageFolder is convenient.

Training

python3 model.py

Specify the data path by modifying the constant TRAIN_IMG_DIR at the beginning of the script. Also tune model parameters by modifying constants at the beginning of the script.

About

Pytorch Implementation of AlexNet

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.4%
  • Shell 3.6%