Important
This repo includes all the milestone models in deep learning, featuring the implementation of each model along with a summary that highlights what makes each model unique and how it advances the field compared to previous architectures. If you wish to follow a path and build your own models from the most basic until most modern, this will hopefully be a good resources for you.
Note
As the models become more complex, training them on a personal computer may become challenging due to hardware limitations. In such cases, I strongly recommend using a computing cluster or cloud services to facilitate training.
This project uses ImageNet100 (16.4GB) - a subset of ImageNet with 100 classes, for training and benchmarking models.
Download Link:
https://storage.googleapis.com/kaggle-data-sets/1500837/2491748/bundle/archive.zip?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=gcp-kaggle-com%40kaggle-161607.iam.gserviceaccount.com%2F20241119%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20241119T032223Z&X-Goog-Expires=259200&X-Goog-SignedHeaders=host&X-Goog-Signature=9627a949319acd5429ce0dd2a00abd57f0633dc700701011ec65651842cf4553080e29e5d30b8bb76520de6c29213f7344a278786161ba61c41e79c21a3fd3c96bdc5ae072e39fe386a3f52c290ca7d3423abfead746cf8299d82cae6f7f6b9d0212e40d6fa1a0bd643062680866677feebbc833b790a7ab2b068aa7a41800c4aaeab168953e92152ee5e22b539f5b59700a1726f9e8be5202669ac720a8a390dac6180c05fc1c5985d31e897664e2b19294f070a0395fa24c041d86ed6e91b1bfa64c38ee1e4381e3ad8ed949ade3fd4e82992bac4a20aa381706bfec1f4fd53884cf0e2f30ea70c0926157a794877b029a4e250829bd6afa8709c102fc24ee
All the models are under different branches - current: main
1. LeNet
- Paper: GradientBased Learning Applied to Document Recognition
- DigitalOcean: https://github.com/pytorch/vision/blob/main/torchvision/models/alexnet.py
2. AlexNet
- Paper: ImageNet Classification with Deep Convolutional Neural Networks
- PyTorch: https://github.com/pytorch/vision/blob/main/torchvision/models/alexnet.py
3. VGG
- Paper: Very Deep Convolutional Networks for Large-Scale Image Recognition
- PyTorch: https://github.com/pytorch/vision/blob/main/torchvision/models/vgg.py
4. GoogLeNet
- Paper: Going Deeper with Convolutions
- PyTorch: https://github.com/pytorch/vision/blob/main/torchvision/models/googlenet.py
5. ResNet
- Paper: Deep Residual Learning for Image Recognition
- PyTorch: https://github.com/pytorch/vision/blob/main/torchvision/models/resnet.py
6. DenseNet
7. MobileNet
- Paper: MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
- Paper: MobileNetV2: Inverted Residuals and Linear Bottlenecks
- Paper: Searching for MobileNetV3
8. ShuffleNet
- Paper: ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices
- Paper: ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design
- Visualizing and Understanding Convolutional Networks
- Dropout: A Simple Way to Prevent Neural Networks from Overfitting
- Deep Learning using Rectified Linear Units (ReLU)
- Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
- Squeeze-and-Excitation Networks