Keras train_on_batch loss / precision 0

Ich verwende einen großen Datensatz und versuche daher, train_on_batch (oder fit with epoch = 1) zu verwenden.

model = Sequential()
model.add(LSTM(size,input_shape=input_shape,return_sequences=False))
model.add(Dense(output_dim))
model.add(Activation('softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=["accuracy"])

for e in range(nb_epoch):
    for batch_X, batch_y in batches:
        model.train_on_batch(batch_X,batch_y)
        # or
        # model.fit(batch_X,batch_y,batch_size=batch_size,nb_epoch=1,verbose=1,shuffle=True,)

Aber wenn das Training beginnt, passiert folgendes:

(0, 128)
Epoch 1/1
128/128 [==============================] - 2s - loss: 0.3262 - acc: 0.1130

(129, 257)
Epoch 1/1
128/128 [==============================] - 2s - loss: -0.0000e+00 - acc: 0.0000e+00

s ist egal, wie viele Epochen ich warte, es ändert sich nicht. Auch wenn ich die Batchgröße ändere, passiert dasselbe: Der erste Batch hat gute Werte und geht dann einfach wieder auf "loss: -0.0000e + 00 - acc: 0.0000e + 00".

Kann jemand vielleicht helfen zu verstehen, was hier passiert?

Danke im Vorau

Antworten auf die Frage(0)

Ihre Antwort auf die Frage