如何使用应用于切片的一个 RNN 的输出作为下一个的输入?

How do I use the output of one RNN applied to slices as input of the next?

假设我有训练数据 X, Y,其中 X 的形状为 (n,m,p)

我想建立一个神经网络,将 f 给定的 RNN(后跟密集层)应用于每个 i 切片 (i,a,b) 并输出具有形状的 f(m,x) (p') 然后连接所有输出切片(大概使用 tf.map_fn(f,X))形成维度为 (n,p') 的向量,然后在 (n,p') 上运行下一个神经网络。

本质上类似于: X' =​​ tf.map_fn(f,X) Y= g(X')

我很难理解如何准备我的训练数据,X、X'(以及后来的 Z)应该是什么形状。

此外,如果我想将 X' 与另一个数据集合并怎么办,比如说 Z? Y = g(X' 连接 Z)

我认为您不需要 map_fn,您需要 tf.dynamic_rnn。它需要一个 RNN 单元(因此它知道什么是输出和什么是状态)和 returns 串联输出和串联状态。