时间:2021-05-22
记录训练过程
history=model.fit(X_train, Y_train, epochs=epochs,batch_size=batch_size,validation_split=0.1)将训练过程记录在history中
利用时间记录模型
import timemodel_id = np.int64(time.strftime('%Y%m%d%H%M', time.localtime(time.time())))model.save('./VGG16'+str(model_id)+'.h5')保存模型及结构图
from keras.utils import plot_modelmodel.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')绘制训练过程曲线
import matplotlib.pyplot as pltfig = plt.figure()#新建一张图plt.plot(history.history['acc'],label='training acc')plt.plot(history.history['val_acc'],label='val acc')plt.title('model accuracy')plt.ylabel('accuracy')plt.xlabel('epoch')plt.legend(loc='lower right')fig.savefig('VGG16'+str(model_id)+'acc.png')fig = plt.figure()plt.plot(history.history['loss'],label='training loss')plt.plot(history.history['val_loss'], label='val loss')plt.title('model loss')plt.ylabel('loss')plt.xlabel('epoch')plt.legend(loc='upper right')fig.savefig('VGG16'+str(model_id)+'loss.png')文件记录最终训练结果
logFilePath = './log.txt'fobj = open(logFilePath, 'a')fobj.write('model id: ' + str(model_id)+'\n')fobj.write('epoch: '+ str(epochs) +'\n')fobj.write('x_train shape: ' + str(X_train.shape) + '\n')fobj.write('x_test shape: ' + str(X_test.shape)+'\n')fobj.write('training accuracy: ' + str(history.history['acc'][-1]) + '\n')fobj.write('model evaluation results: ' + str(score[0]) + ' ' +str(score[-1])+'\n')fobj.write('---------------------------------------------------------------------------\n')fobj.write('\n')fobj.close()以字典格式保存训练中间过程
import picklefile = open('./models/history.pkl', 'wb')pickle.dump(history.history, file)file.close()以上这篇浅谈keras的深度模型训练过程及结果记录方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
模型经过训练测试之后,我们往往用一两张图对模型预测结果进行分析讨论,那么下面介绍在keras中用已训练的模型经过测试的方法。下面是以利用预训练的ResNet来展
预训练模型在不同深度学习框架中的转换是一种常见的任务。今天刚好DPN预训练模型转换问题,顺手将这个过程记录一下。核心转换函数如下所示:defconvert_fr
Tensorflow可以使用训练好的模型对新的数据进行测试,有两种方法:第一种方法是调用模型和训练在同一个py文件中,中情况比较简单;第二种是训练过程和调用模型
前言:keras是一个十分便捷的开发框架,为了更好的追踪网络训练过程中的损失函数loss和准确率accuracy,我们有几种处理方式,第一种是直接通过histo
记录训练过程中的每一步的loss变化ifverboseandstep%verbose==0:sys.stdout.write('\r{}/{}:loss={}'