3
with tf.variable_scope('forward'): 
    cell_img_fwd = tf.nn.rnn_cell.GRUCell(hidden_state_size, hidden_state_size) 
    img_init_state_fwd = rnn_img_mapped[:, 0, :] 
    img_init_state_fwd = tf.multiply(
     img_init_state_fwd, 
     tf.zeros([batch_size, hidden_state_size])) 
    rnn_outputs2, final_state2 = tf.nn.dynamic_rnn(
     cell_img_fwd, 
     rnn_img_mapped, 
     initial_state=img_init_state_fwd, 
     dtype=tf.float32) 

これは、次元100x196x50の入力用のGRUのコードです。これは2番目の次元(つまり196)に沿って展開する必要があります。 hidden_state_sizeは50で、batch_sizeは100です。しかし、私は次のエラーを取得する:ValueError:2つの構造に同じ数の要素がありません

ValueError: The two structures don't have the same number of elements. 
First structure: Tensor("backward/Tile:0", shape=(100, 50), dtype=float32), 
second structure: 
    (<tf.Tensor 'backward/bwd_states/while/GRUCell/add:0' shape=(100, 50) dtype=float32>, 
    <tf.Tensor 'backward/bwd_states/while/GRUCell/add:0' shape=(100, 50) dtype=float32>). 

これを解決する方法の任意の手掛かりを?

答えて

2

こんにちは、私は同じ問題を抱えていた、私はこれを実行しようとしました:これは私のようなエラーメッセージ与えた

highest = tf.map_fn(lambda x : (-x, x), indices) 

ValueError: The two structures don't have the same number of elements. 

First structure (1 elements): <dtype: 'int32'> 

Second structure (2 elements): (<tf.Tensor 'map/while/Neg:0' shape=() dtype=int32>, <tf.Tensor 'map/while/TensorArrayReadV3:0' shape=() dtype=int32>) 

を私はdtypesが明示的にすることによって、これを解決:

highest = tf.map_fn(lambda x : (-x, x), indices, dtype=(tf.int32, tf.int32)) 
+1

あなたは私の人生を救った! –

関連する問題