我试图在没有C++/CUDA绑定的情况下重新实现torch.nn.RNN模块,即使用简单的张量操作和相关逻辑。我开发了以下RNN类和相关的测试逻辑,可用于将输出与引用模块实例进行比较:import torch.nn as nn
print(output_val)除了单层双向RNN之外,我的实现似乎也适用于具有
我正在构建一个具有与in相同设置的多层RNN (使用MultiRNNCell封装单元格,然后使用dynamic_rnn调用):
正如在上述问题中描述的,dynamic_rnn返回输出,state =tf.nn.dynamic_rnn输出只提供我猜的顶层的输出(因为形状是batch_size x steps x state_size)。但是,状态返回来自每个层的输出(用num_layer元素组成元组