Ik verwijder de TimeDistributed layer en na wat debugging blijkt het te werken! En snel ook! Zo'n 23 seconden per epoch met 10K documenten. Dat was bij het model met de geprepareerde data wel anders. Een kleine 200 seconden. Helaas is het resultaat ook veel minder. De validation accuracy komt niet snel veel verder dan 20%. Waar kan dit verschil nou inzitten? Ik vergelijk de beide modellen:
Model met Onehot in de data geprepareerd.
Layer (type) Output Shape Param #
=================================================================
conv1d_9 (Conv1D) (None, 59, 256) 55612672
_________________________________________________________________
conv1d_10 (Conv1D) (None, 57, 64) 49216
_________________________________________________________________
max_pooling1d_3 (MaxPooling1 (None, 19, 64) 0
_________________________________________________________________
conv1d_11 (Conv1D) (None, 17, 128) 24704
_________________________________________________________________
conv1d_12 (Conv1D) (None, 15, 128) 49280
_________________________________________________________________
global_average_pooling1d_3 ( (None, 128) 0
_________________________________________________________________
dropout_3 (Dropout) (None, 128) 0
_________________________________________________________________
dense_3 (Dense) (None, 1919) 247551
=================================================================
Model met Onehot layer
Layer (type) Output Shape Param #
=================================================================
lambda_1 (Lambda) (None, 64, 36206) 0
_________________________________________________________________
conv1d_1 (Conv1D) (None, 59, 256) 55612672
_________________________________________________________________
conv1d_2 (Conv1D) (None, 57, 64) 49216
_________________________________________________________________
max_pooling1d_1 (MaxPooling1 (None, 19, 64) 0
_________________________________________________________________
conv1d_3 (Conv1D) (None, 17, 128) 24704
_________________________________________________________________
conv1d_4 (Conv1D) (None, 15, 128) 49280
_________________________________________________________________
global_average_pooling1d_1 ( (None, 128) 0
_________________________________________________________________
dropout_1 (Dropout) (None, 128) 0
_________________________________________________________________
dense_1 (Dense) (None, 1919) 247551
=================================================================
Ik zie niet echt een verschil. En toch is het gedrag van beide oplossingen totaal anders.
![]() |
OneHot functie |
![]() |
OneHot in data |
Geen opmerkingen:
Een reactie posten