8

Tensorflow でフィードフォワード層と再帰層を混在させることができた人はいますか?

例: input->conv->GRU->linear->output

フィードフォワード層を使用して状態を定義せずに自分のセルを定義し、MultiRNNCell 関数を使用して次のようにスタックできると想像できます。

セル = tf.nn.rnn_cell.MultiRNNCell([conv_cell,GRU_cell,linear_cell])

これで生活がぐんと楽になる…

4

3 に答える 3

0

このチュートリアルl では、畳み込み層を再帰層と一緒に使用する方法の例を示します。たとえば、次のような最後の畳み込み層があります。

...
l_conv4_a = conv_pre(l_pool3, 16, (5, 5), scope="l_conv4_a")
l_pool4 = pool(l_conv3_a, scope="l_pool4")
l_flatten = flatten(l_pool4, scope="flatten")

そしてRNNセルを定義した:

_, shape_state = tf.nn.dynamic_rnn(cell=shape_cell,
    inputs=tf.expand_dims(batch_norm(x_shape_pl), 2), dtype=tf.float32, scope="shape_rnn")

両方の出力を連結して、次のレイヤーへの入力として使用できます。

features = tf.concat(concat_dim=1, values=[x_margin_pl, shape_state, x_texture_pl, l_flatten], name="features")

または、CNN レイヤーの出力を RNN セルへの入力として使用することもできます。

_, shape_state = tf.nn.dynamic_rnn(cell=shape_cell,
    inputs=l_flatten, dtype=tf.float32, scope="shape_rnn")
于 2016-12-28T11:03:06.803 に答える