Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could this work with tf.nn.dynamic_rnn? #2

Closed
carlthome opened this issue Dec 15, 2016 · 3 comments
Closed

Could this work with tf.nn.dynamic_rnn? #2

carlthome opened this issue Dec 15, 2016 · 3 comments

Comments

@carlthome
Copy link

No description provided.

@iwyoo
Copy link
Owner

iwyoo commented Dec 16, 2016

It is related with issue#1. There is no guarantee that ConvLSTM can work with the functions provided by TensorFlow, because they are using different operators. I'm looking on it, but I'm not sure when I completely fix that issue.
You can dynamically link ConvLSTM blocks like my example code. If you are in hurry, I recommend to implement in that way.

@carlthome
Copy link
Author

carlthome commented Dec 16, 2016

What do you think of doing something like this instead? First an initial tf.conv3d to get channels to match RNNCell._num_units and then some reshaping in RNNCell.__call__ to fit 5D into a 3D tensors as far as the RNN API is concerned? Does the math hold up or will this cause problems?

@iwyoo
Copy link
Owner

iwyoo commented Dec 19, 2016

The difference of ConvLSTM and an original LSTM is the 'operator' inside. Therefore, your 'convolve_input' can be used for the original LSTM and it can work well, but it will not work same with ConvLSTM. However, if you are not in a (badly) special case, I recommend use the original LSTM as your suggestion. Many literature uses 1d code from CNN for LSTM codes rather than using 2d data like images.
Therefore, your code is the more common and useful way to handle 2d sequential data.
In the reference paper, the authors are comparing the original LSTM and their ConvLSTM. It only means that it is harmful to feed raw image data to LSTM, but it doesn't mean that ConvLSTM is the best way to handle 2d image sequences.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants