使用张量流数据集和/或估计器对RNN进行状态初始化

时间:2019-06-09 18:39:59

标签: tensorflow recurrent-neural-network tensorflow-datasets tensorflow-estimator

我想将tf.data和tf.estimator用作训练RNN(例如LSTM)网络的解决方案的一部分。

RNN将用于预测序列继续。长输入序列X将在单独的示例X(i)中拆分。

输入到网络将是X(i),并且在馈入X(i-1)之后网络将输出隐藏状态。输出将为Y(i)和新的隐藏状态S(i):

         Y(i)
           | 
S(i-1) -> RNN -> S(i)
           |
         X(i)

我想尝试以下设置:

                     Y(i)
S(i-100)               | 
S(i-50)  -> E(i)-> -> RNN -> S(i)
S(i-1)                 |
                     X(i)

其中S(i-100),S(i-50),S(i-1)是分别向后退100、50和1个时间的隐藏状态输出。 E(i)是一个学习的嵌入。

现在的问题是:在X(i)上训练时,如何使用tf.data和/或tf.estimator API获得隐藏的先前状态S(i-x)?建议的解决方案应允许进行分布式培训。

在每个训练步骤中是否可以使用tf.Variable并分配输出状态S(i)?分布式训练期间所有训练实例都可以访问变量值吗?

0 个答案:

没有答案