Несовместимые фигуры: [32] и [4536] [[{{node logistic_loss / mul}}]] - PullRequest
1 голос
/ 31 марта 2019

Я тренирую классификатор со следующей структурой и параметрами:

__________________________________________________________________________________________________
Layer (type)                    Output Shape         Param #     Connected to                     
==================================================================================================
encoder_input (InputLayer)      (None, 567, 1)       0                                            
__________________________________________________________________________________________________
conv1d_1 (Conv1D)               (None, 189, 32)      128         encoder_input[0][0]              
__________________________________________________________________________________________________
conv1d_2 (Conv1D)               (None, 63, 64)       6208        conv1d_1[0][0]                   
__________________________________________________________________________________________________
conv1d_3 (Conv1D)               (None, 21, 100)      19300       conv1d_2[0][0]                   
__________________________________________________________________________________________________
flatten_1 (Flatten)             (None, 2100)         0           conv1d_3[0][0]                   
__________________________________________________________________________________________________
z_mean (Dense)                  (None, 20)           42020       flatten_1[0][0]                  
__________________________________________________________________________________________________
z_log_var (Dense)               (None, 20)           42020       flatten_1[0][0]                  
__________________________________________________________________________________________________
z (Lambda)                      (None, 20)           0           z_mean[0][0]                     
                                                                 z_log_var[0][0]                  
__________________________________________________________________________________________________
dense_1 (Dense)                 (None, 64)           1344        z[0][0]                          
__________________________________________________________________________________________________
dense_2 (Dense)                 (None, 128)          8320        dense_1[0][0]                    
__________________________________________________________________________________________________
dense_3 (Dense)                 (None, 200)          25800       dense_2[0][0]                    
__________________________________________________________________________________________________
dense_10 (Dense)                (None, 4)            804         dense_3[0][0]                    
==================================================================================================
Total params: 145,944
Trainable params: 145,944
Non-trainable params: 0

Все слои, кроме слоев dense, взяты из другой модели.Здесь можно обучить только параметры слоя dense.Вот фрагмент кода для обучения:

for layer in classifier.layers[:-4]:
  layer.trainable = False
classifier.fit(x_train, y_train,
        epochs=50,
        batch_size=8,
        validation_data=(x_val, y_val)
              )
classifier.save_weights('cnn_hhar.h5')

Но я получаю это InvalidArgumentError: Incompatible shapes: [32] vs. [4536] [[{{node logistic_loss/mul}}]]

Что не так с этим кодом?

Редактировать: Код доступен здесь . Он в основном адаптирован из кода для Variational Autoencoder.Я взял часть кодировщика и добавил к ней слои FC для задачи классификации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...