• Stars
    star
    420
  • Rank 103,194 (Top 3 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created about 8 years ago
  • Updated over 7 years ago

Reviews

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

Repository Details

An implementation of convolutional lstms in tensorflow. The code is written in the same style as the basiclstmcell function in tensorflow

Convolutional-LSTM-in-Tensorflow

An implementation of convolutional lstms in tensorflow. The code is written in the same style as the basiclstmcell function in tensorflow and was meant to test whether this kind of implementation worked. To test this method I applied it to the bouncing ball data set created by Ilya Sutskever in this paper Recurrent Temporal Restricted Boltzmann Machine. To add velocity information I made the x and y velocities correspond to the color of the ball. This was added so I could compare the results with just next frame prediction with straight convolutions.

Basics of how it works

All I really did was take the old lstm implementation and replace the fully connected layers with convolutional. I use the concatenated state implementation and concat on the depth dimension. I would like to redo the rnn_cell.py file in tensorflow with this method. This method first appears in the paper Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting.

How well does it work!

I trained two models. One with the convolutional lstm and one with straight convolutions. The files to train these are main_conv_lstm.py and main_conv.py. These will generate videos while training that show predicted sequences of length 50. The convolutional lstm model uses the last 5 frames to predict the next 4 while the convolutional model uses 1 frame to predict the next 4. This means that the convolutional lstm model has somewhat of an advantage over the convolutional so comparing these should be taken with a grain of salt. The models were trained for 200,000 steps each of batch size 16. I saw evidence that better results could be obtained with longer training times but kept them short or testing. The convolutional lstm model generated videos such as this

IMAGE ALT TEXT HERE

The convolutional model generated videos such as this

IMAGE ALT TEXT HERE

To accurately compare the difference between them I made a file create_graphs.py that shows the reconstruction error vs the future predicted step. We can see from the graph that the convolutional lstm model performs better then the convolutional model. The error was averaged over 1,200 randomly generated sequences.

Alt text

More Repositories

1

Computational-Fluid-Dynamics-Machine-Learning-Examples

This repo contains some tutorial type programs showing some basic ways machine learning can be applied to CFD.
Python
271
star
2

Steady-State-Flow-With-Neural-Nets

A Tensorflow re-implementation of the paper Convolutional Neural Networks for Steady Flow Approximation
Python
156
star
3

Phy-Net

compressing physics with neural networks
Python
154
star
4

Computational-Physics-and-Machine-Learning-Reading-List

A list of papers relating Computational Physics and Machine Learning
131
star
5

Lattice-Boltzmann-fluid-flow-in-Tensorflow

A Lattice Boltzmann fluid flow simulation written in Tensorflow.
Python
122
star
6

Early-Visual-Concept-Learning-Recreation-of-Some-Results

Here is an implementation of some of a few results seen in Early Visual Concept Learning with Unsupervised Deep Learning
Python
28
star
7

latnet

Neural Network Based Lattice Boltzmann solver
Python
26
star
8

All-Convnet-Autoencoder-Example

Just a simple use example of the conv2d_transpose function in TensorFlow. Its run on MNIST.
Python
22
star
9

Variational-autoencoder-tricks-and-tips

just a few trouble shooting tips I have found for training variational autoencoders. All code in tensorflow
Python
22
star
10

MinDat-Mineral-Image-Dataset

A dataset of +500,000 mineral images with labels taken from mindat.org.
Python
21
star
11

Crystal-Gems

A dataset of mineral images and labels for machine learning purposes. http://www.minerals.net/
Python
18
star
12

PhantomGaze

Simple GPU rendering of scientific data with Pytorch, Jax, CuPy, and Warp backends.
Python
15
star
13

Deep-Learning-Papers

A list of deep learning papers and notes on them
12
star
14

dynamic_rnn_conv_lstm

just a quick example of using the conv lstm in tensorflow as per https://github.com/tensorflow/tensorflow/pull/8891
Python
9
star
15

Deep-Learning-Experiment-Manager

A simple python program to queue up deep learning experiments on gpus
Python
5
star
16

DeepDesign

Automated Design Library using Deep Neural Networks
Python
5
star
17

ultrasound-nerve-segmentation-in-tensorflow

Jumping in really late to the kaggle ultrasound nerve segmentation competition. Hopefully save peoples time in writing boring data loading scripts.
Python
5
star
18

Compressing-Dynamical-Systems-Atari

This is both an implementation of the paper "Action-Conditional Video Prediction using Deep Networks in Atari Games" and an extension of some of their results
Python
4
star
19

dynamical-systems-for-machine-learning

Simple dynamical systems to test machine learning algorithms. Written with TensorFlow in mind
Python
4
star
20

Mindat

A dataset of mineral images created from mindat.org
Python
3
star
21

Flow-Sculpter

Neural Networks learning to create objects with desired flow properties.
Python
3
star
22

Quantum-Walk-Simulator

A c++ simulator for Continuous-Time Quantum Walk.
C
2
star
23

Compressing-Dynamical-Systems

A tool to compressing video based dynamical systems on to small low dimensional LSTMs or fully connected networks. This also doubles as a video generative model as seen bellow.
Python
2
star
24

Cd.jl

A simple Restricted Boltzmann machine. For use in Neural Networks and other learning needs.
Julia
2
star
25

Memory-Efficient-Autoencoder

A repo looking at autoencoders that can be applied to extremely large 2D and 3D tensors.
Python
2
star
26

resume

my resume yaya
1
star
27

The-Wedding-Project

1
star
28

All-Convnet-TensorFlow-MNIST-Tutorial

A look at using conv nets all the way through for TensorFlows MNIST Tutorial
Python
1
star
29

Ring_Net

A Neural Network for compressing dynamical systems into Markov Chains and the like
Python
1
star
30

PumpkinPulse

Dense Plasma Focus Fusion Reactor
Python
1
star