Giter Club home page Giter Club logo

pytorch-gconv-experiments's Introduction

pytorch-gconv-experiments

Experiments with Group Equivariant Convolutional Networks (T. S. Cohen, M. Welling, 2016) implemented in PyTorch.

Installation

Install GrouPy with PyTorch support.

MNIST

Modified MNIST PyTorch example validating my implementation of G-convolutions in PyTorch.

cd mnist
python mnist.py

This simple example uses p4 group convolutions and plane group spatial max pooling.

CIFAR-10

Experiments with ResNet implementation based by kuangliu repository for CIFAR-10 with PyTorch. Training uses online data augmentation with translation and flips

All planar convolutions were replaced with p4m group convolutions. The number of filters in each convolutional layer was reduced by sqrt(8) to keep similar number of parameters (following Group Equivariant Convolutional Networks, section 8.2).

To train the ResNet18 network run

cd cifar10
python train.py --n_epochs 120 --checkpoint resnet18_p4m --lr=0.01

The learning rate is reduced by a factor of 0.1 after 50 and 100 epochs.

After 120 epochs, the network achieves 94.22% on test set, compared to 93.02% using planar convolutions reported here.

pytorch-gconv-experiments's People

Contributors

adambielski 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.