2017-01-17 7 views
0
output = tf.zeros(shape=[2, len(wss), 3, 2*d]) 
for i, atten_embed in enumerate(atten_embeds): 
    for j, ws in enumerate(wss): 
     conv_layer = conv_layers_A[j] 
     conv = conv_layer(atten_embed) 
     new_shape = (reduce(lambda x,y:x*y, conv.get_shape()[:-1]).value,num_filters) 
     conv = K.reshape(conv, new_shape) 
     for k, pooling in enumerate([K.max, K.min, K.mean]): 
      print output[i,j,k,:] 
      output[i,j,k,:] = pooling(conv, 0) 

---> 15 output[i,j,k,:] = pooling(conv, 0)はTypeError:「テンソル」オブジェクトがサポートされていない項目の割り当て

TypeError: 'Tensor' object does not support item assignment

私は上記の実装コードでは、それぞれがどのように私は私が定義された形状のうち、大きい方の中にこれらのテンソルをパックすると仮定しています、私たちにTensor("Squeeze_2:0", shape=(8,), dtype=float32) を返すpooling(conv, 0)outputに?

答えて

1
output = [] 
for i, atten_embed in enumerate(atten_embeds): 
    for j, ws in enumerate(wss): 
     conv_layer = conv_layers_A[j] 
     conv = conv_layer(atten_embed) 
     new_shape = (reduce(lambda x,y:x*y, conv.get_shape()[:-1]).value,num_filters) 
     conv = K.reshape(conv, new_shape) 
     for k, pooling in enumerate([K.max, K.min, K.mean]): 
      output.append(pooling(conv, 0)) 

output = tf.reshape(tf.pack(output), shape=(2, len(wss), 3, num_filters)) 
関連する問題