Я пытался сделать простой тест с Keras.
Ниже приведен код,
inputs = Input(shape=(seq_length, latent_dim)) # seq_length=3, latent_dim=2
reshaped_d_inputs = Reshape((inputs.get_shape()[1] * inputs.get_shape()[2], ))(inputs)
print(reshaped_d_inputs.get_shape()) # (?, 6)
repeat_d_repeat = RepeatVector(seq_length)(reshaped_d_inputs)
repeat_d = Reshape((seq_length, inputs.get_shape()[1], inputs.get_shape()[2]))(repeat_d_repeat)
print(repeat_d.get_shape()) # (?, 3, 3, 2)
permuted_e = Permute((2, 1))(inputs)
reshaped_e_inputs = Reshape((inputs.get_shape()[1] * inputs.get_shape()[2], ))(permuted_e)
permuted_e_repeat = RepeatVector(seq_length)(reshaped_e_inputs)
repeat_e = Reshape((seq_length, inputs.get_shape()[2], inputs.get_shape()[1]))(permuted_e_repeat)
repeat_e = Permute((1, 3, 2))(repeat_e)
print(repeat_e.get_shape()) # (?, 3, 3, 2)
outputs = Concatenate(-1)([repeat_d, repeat_e])
model = Model(inputs=inputs, outputs=outputs)
model.compile(optimizer='rmsprop', loss='mse')
output_array = model.predict(input_array)
, но Concatenate из keras.layers выдает ошибку.
TypeError Traceback (последний вызов был последним) в 14 печатных изданиях (repeat_e.get_shape ()) 15 ---> 16 выходов = Concatenate (-1) ([repeat_d, repeat_e]) 17 модель = Модель (входы = входы,выходы = выходы) 18 model.compile (оптимизатор = 'rmsprop', потеря = 'mse')
d: \ igs_projects \ nlp_nlu \ venv \ lib \ site-packages \ keras \ engine \ base_layer.py в call (self, input, ** kwargs) 429 'Вы можете создать его вручную с помощью:' 430 'layer.build(batch_input_shape)
') -> 431 self.build (unpack_singleton (input_shapes)) 432 self.built= True 433
d: \ igs_projects \ nlp_nlu \ venv \ lib \ site-packages \ keras \ слои \ merge.py в сборке (self, input_shape) 355 для i в диапазоне (len (redu_inputs_shapes)):356 del redu_inputs_shapes [i] [self.axis] -> 357 shape_set.add (tuple (extended_inputs_shapes [i])) 358, если len (shape_set)> 1: 359 повысить ValueError (для 'A Concatenate
слоя требуется'
TypeError: unhashable тип: 'Dimension'
Есть идеи объединить два тензорных слоя?