neural-network - 在Keras模型中的每个epoc之后如何检查重量

标签 neural-network deep-learning keras keras-layer

我在Keras中使用顺序模型。我想在每个时期后检查模型的重量。您能否指导我如何做。

model = Sequential()
model.add(Embedding(max_features, 128, dropout=0.2))
model.add(LSTM(128, dropout_W=0.2, dropout_U=0.2))  
model.add(Dense(1))
model.add(Activation('sigmoid'))
model.compile(loss='binary_crossentropy',optimizer='adam',metrics['accuracy'])
model.fit(X_train, y_train, batch_size=batch_size, nb_epoch=5 validation_data=(X_test, y_test))


提前致谢。

最佳答案

您正在寻找的是CallBack函数。回调是Keras函数,在训练过程中关键点反复调用。可以在一批,一个时期或整个训练之后。有关文档以及现有回调的列表,请参见here

您需要的是可以使用LambdaCallBack对象创建的自定义CallBack。

from keras.callbacks import LambdaCallback

model = Sequential()
model.add(Embedding(max_features, 128, dropout=0.2))
model.add(LSTM(128, dropout_W=0.2, dropout_U=0.2))  
model.add(Dense(1))
model.add(Activation('sigmoid'))

print_weights = LambdaCallback(on_epoch_end=lambda batch, logs: print(model.layers[0].get_weights()))

model.compile(loss='binary_crossentropy',optimizer='adam',metrics['accuracy'])
model.fit(X_train, 
          y_train, 
          batch_size=batch_size, 
          nb_epoch=5 validation_data=(X_test, y_test), 
          callbacks = [print_weights])


上面的代码应在每个纪元末尾打印嵌入权重model.layers[0].get_weights()。由您决定将其打印在要使其可读的位置,然后将其转储到pickle文件中,...

希望这可以帮助

关于neural-network - 在Keras模型中的每个epoc之后如何检查重量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42039548/

相关文章:

python - 简单的 Keras 神经网络不学习

python - 神经网络不接受灰度图像

python - 模型无法在 tensorflow 中学习

python - Keras 中分类变量的嵌入问题

python-3.x - 如何使用训练好的网络作为另一个网络keras的分支?

machine-learning - 如何将 matlab 文件形式的数据转换为 LMDB 作为我的 caffe 输入?

tensorflow - 深度学习中的融合核(或融合层)是什么?

python - 张量板 - 错误 :Trace already enabled - How to solve?

python - 如何在 Keras 中微调功能模型?

python-3.x - 我们可以提取未训练过的类的 VGG16/19 特征吗