如何在Keras中从HDF5文件加载模型?
我试过的
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'))
sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='binary_crossentropy', optimizer=sgd)
checkpointer = ModelCheckpoint(filepath="/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])
上面的代码将最佳模型成功保存到名为weights.hdf5的文件中。然后,我要加载该模型。下面的代码显示了我如何尝试这样做:
model2 = Sequential()
model2.load_weights("/Users/Desktop/SquareSpace/weights.hdf5")
这是我得到的错误:
IndexError Traceback (most recent call last)
<ipython-input-101-ec968f9e95c5> in <module>()
1 model2 = Sequential()
----> 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 weights = [g['param_{}'.format(p)] for p in range(g.attrs['nb_params'])]
--> 584 self.layers[k].set_weights(weights)
585 f.close()
586
IndexError: list index out of range
load_weights
仅设置网络的权重。您仍然需要在调用之前定义其体系结构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)
用例:我试图在Google App Engine中加载一个预先训练好的Keras模型为.h5文件。我正在Python Runtime3.7和标准环境中运行App Engine。 (2)也许有一种方法可以将model.h5从Google Storage加载到Google App Engine中,这是我没有想到的,例如使用其他函数()或其他格式? 我只是想读一下模型,以便进行预测。不需要编写或训练模型
下面是我正在使用的代码 只要用要加密的文本调用'rsa'方法,就完成了。
问题内容: 我正在尝试从D3中的CSV文件加载数据;我有以下代码: 如果我使用D3 v4,它可以正常工作,但是如果我切换到v5,它将不再起作用。有人可以向我解释如何修改代码以使其与D3 v5兼容吗? 问题答案: d3 v5使用访存API并返回要求以下代码的Promise。 万一将来人们想要v4。另一方面,d3v4使用XMLHttpRequest方法,并且不返回要求此代码的Promise csv加载
我想知道是否有一种方法(或某种代码示例)在Flink流媒体应用程序中加载编码的预训练模型(用python编写)。所以我可以使用从文件系统加载的权重和来自流的数据来拟合模型。 先谢谢你
我有一个相对较大的Web项目,为了简化开发过程,我决定将项目分成几个模块(带有模型、控制器的jar项目 如何从jar的META-INF/resources目录强制执行spring mvc负载视图模板? 我知道静态资源可以通过配置加载 我的主模块中的视图解析器如下所示 似乎没有任何地方可以指定jar中的视图路径。 我希望从主模块的/WEB-INF/jsp加载相同的视图,从jar文件的META-INF