如何创建模型的“序列化”版本?

时间:2016-01-08 17:25:47

标签: python serialization machine-learning neural-network

我使用以下代码创建了一个模型:

model = Sequential()
model.add(Dense(64, input_dim=14, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(64, init='uniform'))
model.add(Activation('tanh'))
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='mean_squared_error', optimizer=sgd)
model.fit(X_train, y_train, nb_epoch=20, batch_size=16)

我正在尝试创建此模型的最佳版本的序列化版本。

我所知道的是:

序列化是将对象转换为字节流以存储对象的过程。

我不知道的是:

如何将我创建的模型转换为上面定义的字节流?

1 个答案:

答案 0 :(得分:2)

您可以使用pickle模块:

import pickle
pickle.dump(model, open('./output.bin', 'w'))