vdumoulin/conv_arithmetic

A technical report on convolution arithmetic in the context of deep learning

TeX

14,684

113 commits

updated Jun 8, 2023

See the code

README

Convolution arithmetic

A technical report on convolution arithmetic in the context of deep learning.

The code and the images of this tutorial are free to use as regulated by the licence and subject to proper attribution:

Convolution animations

N.B.: Blue maps are inputs, and cyan maps are outputs.

No padding, no stridesArbitrary padding, no stridesHalf padding, no stridesFull padding, no strides
No padding, stridesPadding, stridesPadding, strides (odd)

Transposed convolution animations

N.B.: Blue maps are inputs, and cyan maps are outputs.

No padding, no strides, transposedArbitrary padding, no strides, transposedHalf padding, no strides, transposedFull padding, no strides, transposed
No padding, strides, transposedPadding, strides, transposedPadding, strides, transposed (odd)

Dilated convolution animations

N.B.: Blue maps are inputs, and cyan maps are outputs.

No padding, no stride, dilation

Generating the Makefile

From the repository's root directory:

$ ./bin/generate_makefile

Generating the animations

From the repository's root directory:

$ make all_animations

The animations will be output to the gif directory. Individual animation steps will be output in PDF format to the pdf directory and in PNG format to the png directory.

Compiling the document

From the repository's root directory:

$ make

vdumoulin/conv_arithmetic

A technical report on convolution arithmetic in the context of deep learning

TeX

14,684

113 commits

updated Jun 8, 2023

See the code

README

Convolution arithmetic

A technical report on convolution arithmetic in the context of deep learning.

The code and the images of this tutorial are free to use as regulated by the licence and subject to proper attribution:

Convolution animations

N.B.: Blue maps are inputs, and cyan maps are outputs.

No padding, no stridesArbitrary padding, no stridesHalf padding, no stridesFull padding, no strides
No padding, stridesPadding, stridesPadding, strides (odd)

Transposed convolution animations

N.B.: Blue maps are inputs, and cyan maps are outputs.

No padding, no strides, transposedArbitrary padding, no strides, transposedHalf padding, no strides, transposedFull padding, no strides, transposed
No padding, strides, transposedPadding, strides, transposedPadding, strides, transposed (odd)

Dilated convolution animations

N.B.: Blue maps are inputs, and cyan maps are outputs.

No padding, no stride, dilation

Generating the Makefile

From the repository's root directory:

$ ./bin/generate_makefile

Generating the animations

From the repository's root directory:

$ make all_animations

The animations will be output to the gif directory. Individual animation steps will be output in PDF format to the pdf directory and in PNG format to the png directory.

Compiling the document

From the repository's root directory:

$ make

Significant stargazers

(top 24 of 79)

Keno Fischer

880 followers · starred Apr 2018

Ng Zhi An

192 followers · starred May 2022

Adam J. Stewart

383 followers · starred Nov 2023

Jonathan Tow

82 followers · starred Aug 2019