Giter Site home page Giter Site logo

convolution-visualizer's Introduction

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.

convolution-visualizer's People

Contributors

dependabot[bot] avatar ezyang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

convolution-visualizer's Issues

Feature request: traspose convolution, 1D convolutions, causal convolutions

In deep learning setup I am experimenting with fancy convolutions, such as transpose conv, 1D and causal.
(For an example of causal conv, see this: https://github.com/locuslab/TCN/blob/ec2ee1038c941a2f56af66915135a1a892043aed/TCN/tcn.py#L6, you shift the input so that it is "centered right" instead of "centered middle").
I would love to have these available for easier experimentation.

But I see that in your readme you already have a long list of features you would like to add, so I may have do write those features myself...

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.