Can anyone please tell ?

RNNCell | RNN |
---|---|

Only a single layer of RNN | Can have muliple stacked layers of RNNs |

Sequential input has to be passed step-by-step by us explicitly | A full sequence can be passed which will be implicitly handled step-by-step |

Does not support bidirectional RNN | Supports bidirectional RNNs |

If required, dropout has to be added as an explicit new layer | Dropout in-built supported |

2 Likes

Thank you Gokul for replying!

To be precise i am currently trying to model a chemical equipment. I have created a dataset(numerical) using other simulation softwares and it is of the size 800 * 2, where 2 represents the number of features and 800 represents time instants at which these are collected. In order to do the dynamic mapping of the data, i am using RNN to solve this!

The problem i am facing is with understanding on how to break this 2D dataset into 3D dataset (seq_len,batch_size,#features) which is required by RNN. Can you please explain the output of a dataloader with a example of 2D input dataset?

- Convert each sample in your dataset to a numpy array of shape (800,2)
- Combine all the samples into a single numpy array of shape (num\_samples, 800, 2)
- Save this dataset using
`numpy.save()`

- Similarly create and save the corresponding ground truth for the above data (I don’t know what that is)

To train:

- While creating the PyTorch RNN, just mark
`batch_first=True`

. - You can now shuffle your data and sample your batches for each iteration and pass it to
`rnn`

.