6

Tensorflow'da ileriye dönük tabakaları ve tekrarlayan tabakaları karıştırabilen var mı? ÖrneğinTensorflow'da ileri besleme katmanları ve tekrarlayan katmanlar karıştırılıyor mu?

: giriş-> conv-> GRU-> lineer> çıkış

Bir ileri besleme katmanları ve ardından MultiRNNCell fonksiyonu kullanılarak istiflenebilir hiçbir devlet ile kendi hücre tanımlamak için hayal edebilirsiniz gibi bir şey:

hücre = tf.nn.rnn_cell.MultiRNNCell ([conv_cell, GRU_cell, linear_cell])

Bu hayat çok daha kolay kılacak ...

cevap

0

sadece yapamaz aşağıdaki:

rnnouts, _ = rnn(grucell, inputs) 
linearout = [tf.matmul(rnnout, weights) + bias for rnnout in rnnouts] 

vb

0

This tutoria l tekrarlanan olanlar ile birlikte evrişimli katmanları kullanmak için bir örnek verir.

... 
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") 

ve tanımlanmış RYSA hücresi olan: Örneğin, bu gibi son kıvrım katmanları olan her iki çıkış birleştirir ve sonraki katmana girdi olarak kullanabilir

_, 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") 

Veya CNN katmanının çıktısını yalnızca RNN hücresine giriş olarak kullanabilirsiniz:

_, shape_state = tf.nn.dynamic_rnn(cell=shape_cell, 
    inputs=l_flatten, dtype=tf.float32, scope="shape_rnn")