Keras笔记(3) checkpoint

2017-04-29  本文已影响0人  无事扯淡

1.保存训练中间值和加载中间值

使用callback可以在每个批次之后保存weights

filepath = 'saver/weights1.{epoch:02d}-{loss:.2f}.hdf5'
ck = keras.callbacks.ModelCheckpoint(filepath,monitor='loss',verbose=0)
h = model.fit(X, y,batch_size=128,epochs=100,verbose=2,callbacks =[ck])

加载

path = 'saver/weights.146-1.11.hdf5'
model.load_weights(path)

2.可视化这些文件名中的损失值

由于rnn可能要训练很多批次才有效果,会产生很多中间文件,文件名中有loss值,这个值就可以用来画出图。

import os
import matplotlib.pyplot as plt
%matplotlib inline
filenames = os.listdir('saver')
gettime = os.path.getmtime#获取时间函数
ft = {f:gettime('saver/'+f) for f in filenames}
ss = sorted(ft.items(),key = lambda item:item[1])#按照值排序
#匿名函数中item是参数,item[1]是返回参数
losses = [float(s[0][-9:-5]) for s in ss]#从文件名中截取损失值
x = [i for i in range(len(losses))]
plt.plot(x,losses)
损失图
上一篇下一篇

猜你喜欢

热点阅读