Kir*_*tha 11 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))
Run Code Online (Sandbox Code Playgroud)
提前致谢.
您正在寻找的是一个CallBack功能.回调是Keras函数,在关键点训练期间重复调用.它可以是一批,一个时代或整个培训之后.请参阅此处了解doc以及现有的回调列表.
你想要的是一个可以用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])
Run Code Online (Sandbox Code Playgroud)
上面的代码应该model.layers[0].get_weights()在每个纪元的末尾打印嵌入权重.由您决定将其打印到可读的位置,将其转储到pickle文件中,...
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
5758 次 |
| 最近记录: |