Giter Site home page Giter Site logo

hyacinthschatten / pytorch-image-classification Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bentrevett/pytorch-image-classification

0.0 0.0 0.0 90.37 MB

Tutorials on how to implement a few key architectures for image classification using PyTorch and TorchVision.

License: MIT License

Jupyter Notebook 99.99% Shell 0.01% Python 0.01%

pytorch-image-classification's Introduction

PyTorch Image Classification

This repo contains tutorials covering image classification using PyTorch 1.7, torchvision 0.8, matplotlib 3.3 and scikit-learn 0.24, with Python 3.8.

We'll start by implementing a multilayer perceptron (MLP) and then move on to architectures using convolutional neural networks (CNNs). Specifically, we'll implement LeNet, AlexNet, VGG and ResNet.

If you find any mistakes or disagree with any of the explanations, please do not hesitate to submit an issue. I welcome any feedback, positive or negative!

Getting Started

To install PyTorch, see installation instructions on the PyTorch website.

The instructions to install PyTorch should also detail how to install torchvision but can also be installed via:

pip install torchvision

Tutorials

  • 1 - Multilayer Perceptron Open In Colab

    This tutorial provides an introduction to PyTorch and TorchVision. We'll learn how to: load datasets, augment data, define a multilayer perceptron (MLP), train a model, view the outputs of our model, visualize the model's representations, and view the weights of the model. The experiments will be carried out on the MNIST dataset - a set of 28x28 handwritten grayscale digits.

  • 2 - LeNet Open In Colab

    In this tutorial we'll implement the classic LeNet architecture. We'll look into convolutional neural networks and how convolutional layers and subsampling (aka pooling) layers work.

  • 3 - AlexNet Open In Colab

    In this tutorial we will implement AlexNet, the convolutional neural network architecture that helped start the current interest in deep learning. We will move on to the CIFAR10 dataset - 32x32 color images in ten classes. We show: how to define architectures using nn.Sequential, how to initialize the parameters of your neural network, and how to use the learning rate finder to determine a good initial learning rate.

  • 4 - VGG Open In Colab

    This tutorial will cover implementing the VGG model. However, instead of training the model from scratch we will instead load a VGG model pre-trained on the ImageNet dataset and show how to perform transfer learning to adapt its weights to the CIFAR10 dataset using a technique called discriminative fine-tuning. We'll also explain how adaptive pooling layers and batch normalization works.

  • 5 - ResNet Open In Colab

    In this tutorial we will be implementing the ResNet model. We'll show how to load your own dataset, using the CUB200 dataset as an example, and also how to use learning rate schedulers which dynamically alter the learning rate of your model whilst training. Specifially, we'll use the one cycle policy introduced in this paper and is now starting to be commonly used for training computer vision models.

References

Here are some things I looked at while making these tutorials. Some of it may be out of date.

pytorch-image-classification's People

Contributors

amrzv avatar bentrevett avatar yongduek avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.