• Stars
    star
    350
  • Rank 120,465 (Top 3 %)
  • Language
    JavaScript
  • Created over 6 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Convolution visualizations

Convolution Visualizer

Live at Convolution Visualizer.

Made with the help of our fine friends at React and D3.js.

Things to do

Want to play around with the code? Clone this repository and run yarn start to start a development instance. The main code lives in src/index.js. This React manual may be of interest.

Here are some project ideas:

  • Tweak the CSS so that the weight and output matrices are displayed to the right of the input if there is space.
  • Add a slider for adjusting speed of the animation.
  • Add a slider which specifies the animation timestep you are on; this way, you can run the animation forward and backward by dragging the slider.
  • Add output size and output padding sliders. When these sliders are adjusted, you recompute the input size using the transposed convolution formula.
  • Add an onClick handler, which pins your selection at the current mouse collection until another click occurs (disabling the hover behavior.)
  • Add a mode which, when enabled, labels cells with variables and renders the mathematical formula to compute the output cell you are moused over.
  • Render code for PyTorch (or your favorite framework) which performs the selected convolution.
  • Add more exotic convolution types like circular convolution.
  • Add a "true" convolution mode, where the weights are flipped before multiplication.
  • Support bigger input sizes than 16 (decreasing the size of the squares when inputs are large), and optimize the code so that it still runs quickly in these cases.
  • Support assymmetric inputs/kernels/strides/dilations.

Bigger projects:

  • Create an in-browser canvas application, which convolves an input image against a displayed filter. Bonus points if your canvas supports painting capabilities.
  • Design a visualization which demonstrates the principles of group convolution, allowing you to slide from standard to depthwise convolution.

More Repositories

1

htmlpurifier

Standards compliant HTML filter written in PHP
PHP
2,837
star
2

ghstack

Submit stacked diffs to GitHub on the command line
Python
613
star
3

git-ftp

A quick and efficient way of pushing changed files to a website via FTP
Python
494
star
4

logitext

Beautiful, interactive visualizations of logical inference
UrWeb
144
star
5

compact

Compact regions library for Haskell
Haskell
81
star
6

nvprof2json

Convert nvprof profiles into about:tracing compatible JSON files
Python
67
star
7

csrf-magic

Automatic CSRF protection for PHP applications
PHP
41
star
8

torchdbg

PyTorch centric eager mode debugger
TypeScript
39
star
9

thesis

Thesis
TeX
37
star
10

stride-visualizer

Stride visualizations
JavaScript
36
star
11

pl-class-public

Public slides and assignments for CSCI-UA.04900: Special Topics in Programming Languages
JavaScript
34
star
12

cusec2012-victor

Transcript of "Inventing on Principle", CUSEC 2012 given by Bret Victor
34
star
13

ghc-shake

ghc --make reimplemented with Shake
Haskell
31
star
14

metromaps

Metro Maps as envisioned by Dafna Shahaf
HTML
27
star
15

lr-agda

Logical relations proof in Agda
Agda
23
star
16

onnx-pytorch

PyTorch development for onnx
Python
21
star
17

pytorch-unattached

Tensors and Dynamic neural networks in Python with strong GPU acceleration
C++
20
star
18

tlparse

TORCH_LOGS parser for PT2
Rust
19
star
19

hpd3js

Haskell heap profiling with D3.js
JavaScript
17
star
20

SMT-LIB-benchmarks-pytorch-shapes

SMT-LIB benchmarks for shape computations from deep learning models in PyTorch
SMT
16
star
21

backpack-examples

Backpack examples repository
15
star
22

eff

Inefficient and syntactically unwieldy implementation of algebraic effects in Python using generators
Python
14
star
23

ghc-rts-rust

A reimplementation of GHC's runtime system in Rust
Rust
14
star
24

deepseq-magic

Deep evaluation of data structures without NFData
Haskell
11
star
25

HoTT-coqex

Coq solutions to exercises in HoTT book
Coq
11
star
26

hamt

Hash Array Mapped Tries in Haskell
Haskell
11
star
27

ocaml-cminsketch

Count-min sketch implementation in OCaml
OCaml
10
star
28

hsleak

A collection of space leaks in GHC Haskell
Haskell
10
star
29

ghc-plugin-template

Sample project for GHC core transformation plugins
Haskell
9
star
30

stenomatic

The Stenomatic 9000: a Steno drilling tool
HTML
8
star
31

reflex-backpack

Reflex with Backpack
Haskell
8
star
32

backpack-regex-example

Regex example with Backpack
8
star
33

scheme-hamt

Hash-array mapped trie in mit-scheme
Scheme
8
star
34

jfp-ghc-rts

JFP article on the GHC RTS
8
star
35

ghc-usage

Frontend plugin to print locally used module info
Haskell
8
star
36

stg-spec

Specification of GHC's spineless tagless G-machine and its cost semantics
Makefile
7
star
37

tmr-issue24

Mini-issue of The Monad Reader!
Haskell
6
star
38

tmr-issue20

The Monad Reader: Issue 20
Haskell
6
star
39

nf

NF data type to statically enforce normal form
Haskell
6
star
40

mutsleuth

Mutation detection in Python
Python
5
star
41

hello-plugin

Hello World plugin using GHC API, intended for use with cabal/stack repl
Haskell
5
star
42

groom

Pretty-print Show instances from Haskell
Haskell
5
star
43

SensorSimulator

Sensor Simulator for simulating sensor data in real time.
Java
5
star
44

sake-bot

Bot for transmitting Travis build information upstream
Ruby
5
star
45

triemap

Matching and unification on TrieMaps
Haskell
4
star
46

tmr-issue22

Issue 22 of the Monad Reader
Haskell
3
star
47

hackage-query

Query Hackage for interesting information
Haskell
3
star
48

hoopl

Higher-order optimization library
Haskell
3
star
49

stenowiki

Wiki for steno dictionary entries
Python
3
star
50

breaking-barriers

Research repository for "breaking barriers"
TeX
3
star
51

sigc

Compare implementations with signatures, generate "implements" tables
Haskell
3
star
52

tmr-issue21

Issue 21 of The Monad Reader
Haskell
2
star
53

cpython-metaclass

metaclass in cpython extension
C++
2
star
54

automation

Shell
2
star
55

jpeg-raw-sync

Sync jpeg deletions to raw folder
Rust
2
star
56

rlimits

Support code for Haskell resource limits.
Haskell
2
star
57

ezyang.com

HTML files for my personal website
HTML
2
star
58

bake

Experimental GHC API driver for Backpack
Haskell
2
star
59

haskell-mit6005

Haskell to MIT 6.005 FP pseudocode pretty-printer
Haskell
2
star
60

labeler-github-action

Labeling GitHub action for PyTorch issues/pull requests
JavaScript
2
star
61

ghceye

Haskell
2
star
62

data-dependent-shape-puzzles

Puzzlers regarding data-dependent shapes in PT2
Jupyter Notebook
2
star
63

ghc-cafeteria

Eagerly evaluated all CAFs in your application
Haskell
2
star
64

pdfs

1
star
65

github-delete-old-branches

Delete old branches from GitHub
Ruby
1
star
66

flavr

Mobile website for flavor matching lookups (data not included)
Haskell
1
star
67

s3-bouncer

Gatekeeper for presigned S3 urls
Python
1
star
68

ci-experiments

CI experiments
1
star
69

hiw16-slides

Slides for Haskell Implementor's Workshop 2016
1
star
70

gh-magic-keywords

magic keyword experiment
1
star
71

stratify

Stratifies the lambda cube into multiple levels
Haskell
1
star
72

pldi14-rlimits-aec

Artifact evaluation for PLDI'14
Haskell
1
star
73

tmr-issue23

Issue 23 of The Monad Reader
TeX
1
star
74

model-tests

Model tests for PyTorch
Python
1
star
75

latency

Some latency benchmarks
Haskell
1
star
76

cachegrind-labs

some experiments using cachegrind to measure performance
C++
1
star
77

dividing-the-land

Answer Set Programming solution to Dividing the Land metapuzzle
JavaScript
1
star
78

vimrc

My vimrc
Vim Script
1
star
79

crepe

experimenting with puppeteer
JavaScript
1
star
80

circleci-experiment

testing for circleci
1
star