Come caricare un modello da un file HDF5 in Keras?

| | |

Come caricare un modello da un file HDF5 in Keras?

Cosa ho provato:

model = Sequential() model.add(Dense(64, input_dim =14, init="uniform")) model.add(LeakyReLU(alpha=0.3)) model.add(BatchNormalization(epsilon=1e-06, mode=0, momentum=0.9, weights=None)) model.add( Dropout(0.5)) model.add(Dense(64, init="uniform")) model.add(LeakyReLU(alpha=0.3)) model.add(BatchNormalization(epsilon=1e-06, mode=0, momentum=0.9 , weights=Nessuno)) model.add(Dropout(0.5)) model.add(Dense(2, init="uniform")) model.add(Activation("softmax")) sgd = SGD(lr=0.1, decadimento =1e-6, momentum=0.9, nesterov=True) model.compile(loss="binary_crossentropy", optimizationr=sgd) checkpointer = ModelCheckpoint(filepath="/weights.hdf5", verbose=1, save_best_only=True). fit(X_train, y_train, nb_epoch=20, batch_size=16, show_accuracy=True, validation_split=0.2, verbose = 2, callbacks=[checkpointer]) 

Il codice sopra salva con successo il meglio modello in un file denominato weights.hdf5. Quello che voglio fare è quindi caricare quel modello. Il codice seguente mostra come ho provato a farlo:

model2 = Sequential() model2.load_weights("/Users/Desktop/SquareSpace/weights.hdf5") 

Questo è l'errore che ottengo:

IndexError Traceback (ultima chiamata più recente) <ipython-input-101-ec968f9e95c5> in <modulo>() 1 modello2 = Sequenziale() ----> 2 model2.load_weights("/Users/Desktop/SquareSpace/weights.hdf5") /Applications/anaconda/lib/python2.7/site-packages/keras/models.pyc in load_weights(self, filepath) 582 g = f[ "layer_{}".format(k)] 583 pesi = [g["param_{}".format(p)] for p in range(g.attrs["nb_params"])] --> 584 self.layers[k].set_weights(weights) 585 f.close() 586 IndexError: elenca l'indice fuori dall'intervallo