Best Practice in Keras per convalidare i dati con varia forma?

voti
0

Mi scuso se questo ha una risposta semplice! Sto solo entrare in Keras.

Ho 50 video con un modello di output 7 metriche misurati in una lista una volta al secondo. I video hanno lunghezze diverse, in modo da avere in definitiva 50 insiemi di [num_seconds] set dei 7 metriche. Così la forma è (50, num_seconds, 7).

Ho appena scoperto qui che le chiamate successive a model.fit () verrà gradualmente formare un modello, che è grande - che significa che posso allenare il modello per ogni singolo video ed eludere questo problema per i dati di allenamento. Tuttavia, ora sto correndo lo stesso problema con i dati di convalida - in quanto ogni elemento di x_test ha una forma diversa, riceverò ValueError: Error when checking input: expected input_1 to have 3 dimensions, but got array with shape (50, 1).anche se si dice x_test è (50,1)che posso vedere x_test[0] = (592,7), x_test[1] = (718,7)e così via. C'è un modo simile per convalidare i dati con questi array frastagliati, e impostare i punti di controllo per salvare i modelli con il migliore val_loss?

    checkpoint = ModelCheckpoint(checkpointFilePath, monitor='val_loss', verbose=1, save_best_only=True, mode='min')
    early_stop = EarlyStopping('val_loss', patience=100)
    callbacks_list = [checkpoint, early_stop]

    for i,_ in enumerate(x_train):
        newx = np.expand_dims(x_train[i],0)
        newy = np.asarray([y_train[i]])

        model.fit(
            newx,
            newy,
            batch_size=50,
            epochs=500,
            verbose=1,
            callbacks=callbacks_list,
            validation_data=(x_test,y_test),
            shuffle=True)
È pubblicato 06/08/2018 alle 22:12
dall'utente
In altre lingue...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more