How to load a model from an HDF5 file in Keras?

后端 未结 5 930
陌清茗
陌清茗 2020-12-07 08:03

How to load a model from an HDF5 file in Keras?

What I tried:

model = Sequential()

model.add(Dense(64, input_dim=14, init=\'uniform\'))
model.add(Le         


        
5条回答
  •  眼角桃花
    2020-12-07 08:12

    load_weights only sets the weights of your network. You still need to define its architecture before calling load_weights:

    def create_model():
       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=None))
       model.add(Dropout(0.5))
       model.add(Dense(2, init='uniform'))
       model.add(Activation('softmax'))
       return model
    
    def train():
       model = create_model()
       sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)
       model.compile(loss='binary_crossentropy', optimizer=sgd)
    
       checkpointer = ModelCheckpoint(filepath="/tmp/weights.hdf5", verbose=1, save_best_only=True)
       model.fit(X_train, y_train, nb_epoch=20, batch_size=16, show_accuracy=True, validation_split=0.2, verbose=2, callbacks=[checkpointer])
    
    def load_trained_model(weights_path):
       model = create_model()
       model.load_weights(weights_path)
    

提交回复
热议问题