PyTorch vs Tensorflow中RNN的实现

PyTorch vs Tensorflow中RNN的实现,tensorflow,pytorch,Tensorflow,Pytorch,我刚开始使用PyTorch,有几年使用Tensorflow v1的经验。我对RNN在PyTorch中的工作方式有点困惑 在我看来,“nn”中提供的rnn都是C实现,我似乎找不到与Tensorflow的“scan”或“dynamic_rnn”函数等价的函数。此外,PyTorch中RNN的所有自定义实现似乎都使用Python for循环。这会不会导致对GPU的多次调用,从而降低速度 第二:我习惯于通过向RNN函数提供每个序列的长度来处理Tensorflow中包含可变长度序列的小批量。这有一个优点(与

我刚开始使用PyTorch,有几年使用Tensorflow v1的经验。我对RNN在PyTorch中的工作方式有点困惑

在我看来,“nn”中提供的rnn都是C实现,我似乎找不到与Tensorflow的“scan”或“dynamic_rnn”函数等价的函数。此外,PyTorch中RNN的所有自定义实现似乎都使用Python for循环。这会不会导致对GPU的多次调用,从而降低速度

第二:我习惯于通过向RNN函数提供每个序列的长度来处理Tensorflow中包含可变长度序列的小批量。这有一个优点(与使用显式pad令牌相比),即您不需要仅为pad令牌在词汇表中创建无用的条目。填充的数据可以是任何现有的令牌,该令牌将被忽略,因为它位于声明的长度之外。但PyTorch似乎采用了与Keras相同的pad标记方式。我理解得对吗?我必须在嵌入矩阵中为pad令牌保留一个条目吗


谢谢

tf.scan功能的等价物是否有更新?tf.scan功能的等价物是否有更新?