How to buid a ConvLSTM (not CNN+LSTM) network?

16 visualizaciones (últimos 30 días)
Peng Liang
Peng Liang el 31 de Oct. de 2022
Respondida: Parag el 3 de Mzo. de 2025
Hello everyone
Is there any way to buid a ConvLSTM network with MATLAB? I have found many examples related to CNN+LSTM, but can't find any example related to ConvLSTM in which the input state and hidden states of LSTM layer are handled with convolutionl filter? The structure can be found in https://proceedings.neurips.cc/paper/2015/file/07563a3fe3bbe7e3ba84431ad9d055af-Paper.pdf.

Respuestas (1)

Parag
Parag el 3 de Mzo. de 2025
I understand that you want to build an LSTM network between convolutional operations, rather than placing the LSTM at the end of the convolutional operations.
A ConvLSTM layer is a recurrent layer that utilizes convolution operations internally rather than relying on matrix multiplications. Currently, MATLAB does not support the ConvLSTM layer. However, you can use the following workaround to employ LSTM networks for image classification:
1. Use CNN layers to extract features from the image, ensuring that the final output of the convolution process is a 1-D vector.
2. Feed this 1-D vector into an LSTM, which will produce another 1-D vector as output.
3. Use the output of the LSTM for image classification by passing it through a `classificationLayer`.
MATLAB also provides the capability to define custom layers. You can refer to the MathWorks documentation to learn how to create custom deep learning layers:
Additionally, to view the list of supported deep learning layers in MATLAB, please visit:
Hope this helps.

Categorías

Más información sobre Image Data Workflows en Help Center y File Exchange.

Productos


Versión

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by