Tensorflow中RNN/LSTM循环连接和方程的变化

Tensorflow中RNN/LSTM循环连接和方程的变化,tensorflow,recurrent-neural-network,Tensorflow,Recurrent Neural Network,根据,Tensorflow中的RNN支持以下等式: activation(W * input + U * state + B) 现在,实施以下RNN的最佳实践是什么: activation(W_1 * input_1 + W_2 * input_2 + U * state + B) 说到最佳实践,我指的是用稍微不同的公式实现RNN/LSTM的快速有效的方法:编辑tf.nn.RNN_单元,使其能够支持此或?[在本例中,假设我们无法连接输入_1和输入_2,因为它们具有不同的维度] 一般来说,如果

根据,Tensorflow中的RNN支持以下等式:

activation(W * input + U * state + B)
现在,实施以下RNN的最佳实践是什么:

activation(W_1 * input_1 + W_2 * input_2 + U * state + B)
说到最佳实践,我指的是用稍微不同的公式实现RNN/LSTM的快速有效的方法:编辑tf.nn.RNN_单元,使其能够支持此或?[在本例中,假设我们无法连接输入_1和输入_2,因为它们具有不同的维度]


一般来说,如果我们想稍微改变一下LSTM/RNN的方程(即添加新输入、新循环连接等),那么我们应该从TF开始?有什么建议吗?应该更改哪些文件?任何教程或代码的指针都将不胜感激。

使用Tensorflow的RNN单元库应该很容易做到这一点。每个RNN单元类型实现为RNNCell的一个子类;您可以轻松地添加自己的新子类。请看定义一些常见RNN单元的代码:


希望这有帮助

谢谢你的回答。因此,通过实现新的RNNCell,是否需要重新实现rnn.py中的所有其他类,如dynamic\u rnn等?
dynamic\u rnn
在单元格类型中是参数化的。您可以将其传递给您自己的自定义RNN单元类型,这样就可以正常工作了。