自定义RNN单元-输入大小问题

时间:2019-07-10 15:45:00

标签: tensorflow recurrent-neural-network

我正在创建一个与TensorFlow的标准Cell完全不同的自定义RNNCell,我正在使用以下代码:

请访问I'm trying to make my own RNN cell in tensorflow but it doesn't work

  1. 在此示例中,x_place的batch_size为1。为什么代码对于不大于1的batch_size不起作用?

具体地说,我收到batch_size = 2的错误消息: 输入张量'Placeholder_1:0'进入形状为(1,1)的循环,但经过一轮迭代后形状为(2,1)。要允许形状随迭代而变化,请使用tf.while_loop的dataBx = Import["BvsY_1207.xlsx"] [[1]]; dataBz = Import["BvsY_1207.xlsx"] [[2]]; dataBz = dataBz + .06; ClearAll[Bx, Bz, x, z]; listx = Range[0, 25, 0.5]; listx = listx - 12.4; x = Transpose[Table[listx, {i, 13}]]; listy = 12 - Range[0, 24, 2]; y = Table[listy, {i, 51}]; dataB = Sqrt[dataBx^2 + dataBz^2]; B = Transpose[{Flatten[y], Flatten[x], Flatten[dataB]}]; ListContourPlot[B, InterpolationOrder -> 4, Contours -> 18, ContourLines -> False, BaseStyle -> {FontFamily -> "Times", FontSize -> 24}, FrameLabel -> {"Y/mm", "X/mm", "" , "" }, PlotLegends -> Automatic] 参数指定不太具体的形状。

  1. 假设在 call ()方法中,我将自定义RNN创建为:

next_state =状态+ w * f(状态)+输入

(state_size为N * 1,w_size为N * 1,input-dim为1

f是任意函数

在我的示例中,input_size = [batch_size,time_step,1])

但是由于input_size,dynamic_rnn不适用于此自定义单元。为什么?

我真的很感激,如果有人能解释一下如果输入是可加的,那么如何使用dynamic_rnn()方法。

0 个答案:

没有答案