浅谈keras的深度模型训练过程及结果记录方式
记录训练过程
history=model.fit(X_train,Y_train,epochs=epochs,batch_size=batch_size,validation_split=0.1)
将训练过程记录在history中
利用时间记录模型
importtime model_id=np.int64(time.strftime('%Y%m%d%H%M',time.localtime(time.time()))) model.save('./VGG16'+str(model_id)+'.h5')
保存模型及结构图
fromkeras.utilsimportplot_model model.save('/opt/Data1/lixiang/letter_recognition/models/VGG16'+str(model_id)+'.h5') plot_model(model,to_file='/opt/Data1/lixiang/letter_recognition/models/VGG16'+str(model_id)+'.png')
绘制训练过程曲线
importmatplotlib.pyplotasplt fig=plt.figure()#新建一张图 plt.plot(history.history['acc'],label='trainingacc') plt.plot(history.history['val_acc'],label='valacc') plt.title('modelaccuracy') plt.ylabel('accuracy') plt.xlabel('epoch') plt.legend(loc='lowerright') fig.savefig('VGG16'+str(model_id)+'acc.png') fig=plt.figure() plt.plot(history.history['loss'],label='trainingloss') plt.plot(history.history['val_loss'],label='valloss') plt.title('modelloss') plt.ylabel('loss') plt.xlabel('epoch') plt.legend(loc='upperright') fig.savefig('VGG16'+str(model_id)+'loss.png')
文件记录最终训练结果
logFilePath='./log.txt' fobj=open(logFilePath,'a') fobj.write('modelid:'+str(model_id)+'\n') fobj.write('epoch:'+str(epochs)+'\n') fobj.write('x_trainshape:'+str(X_train.shape)+'\n') fobj.write('x_testshape:'+str(X_test.shape)+'\n') fobj.write('trainingaccuracy:'+str(history.history['acc'][-1])+'\n') fobj.write('modelevaluationresults:'+str(score[0])+''+str(score[-1])+'\n') fobj.write('---------------------------------------------------------------------------\n') fobj.write('\n') fobj.close()
以字典格式保存训练中间过程
importpickle file=open('./models/history.pkl','wb') pickle.dump(history.history,file) file.close()
以上这篇浅谈keras的深度模型训练过程及结果记录方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。