Keras在训练期间可视化训练误差和测试误差实例

 更新时间:2020年06月16日 10:46:32   作者:bebr  
这篇文章主要介绍了Keras在训练期间可视化训练误差和测试误差实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

详细的解释,读者自行打开这个链接查看,我这里只把最重要的说下

fit() 方法会返回一个训练期间历史数据记录对象,包含 training error, training accuracy, validation error, validation accuracy 字段,如下打印

# list all data in history
print(history.history.keys())

完整代码

# Visualize training history
from keras.models import Sequential
from keras.layers import Dense
import matplotlib.pyplot as plt
import numpy
 
# fix random seed for reproducibility
seed = 7
numpy.random.seed(seed)
# load pima indians dataset
dataset = numpy.loadtxt("pima-indians-diabetes.csv", delimiter=",")
# split into input (X) and output (Y) variables
X = dataset[:,0:8]
Y = dataset[:,8]
# create model
model = Sequential()
model.add(Dense(12, input_dim=8, kernel_initializer='uniform', activation='relu'))
model.add(Dense(8, kernel_initializer='uniform', activation='relu'))
model.add(Dense(1, kernel_initializer='uniform', activation='sigmoid'))
 
# Compile model
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
 
# Fit the model
history = model.fit(X, Y, validation_split=0.33, epochs=150, batch_size=10, verbose=0)
 
# list all data in history
print(history.history.keys())
 
# summarize history for accuracy
plt.plot(history.history['acc'])
plt.plot(history.history['val_acc'])
plt.title('model accuracy')
plt.ylabel('accuracy')
plt.xlabel('epoch')
plt.legend(['train', 'test'], loc='upper left')
plt.show()
 
# summarize history for loss
plt.plot(history.history['loss'])
plt.plot(history.history['val_loss'])
plt.title('model loss')
plt.ylabel('loss')
plt.xlabel('epoch')
plt.legend(['train', 'test'], loc='upper left')
plt.show()

补充知识:训练时同时输出实时cost、准确率图

首先定义画图函数:

train_prompt = "Train cost"
cost_ploter = Ploter(train_prompt)
def event_handler_plot(ploter_title, step, cost):
 cost_ploter.append(ploter_title, step, cost)
 cost_ploter.plot()

在训练时如下方式使用:


EPOCH_NUM = 8
# 开始训练
lists = []
step = 0
for epochs in range(EPOCH_NUM):
 # 开始训练
 for batch_id, train_data in enumerate(train_reader()):    #遍历train_reader的迭代器,并为数据加上索引batch_id
  train_cost,sult,lab,vgg = exe.run(program=main_program,  #运行主程序
        feed=feeder.feed(train_data),    #喂入一个batch的数据
        fetch_list=[avg_cost,predict,label,VGG])   #fetch均方误差和准确率
  if step % 10 == 0:    
   event_handler_plot(train_prompt,step,train_cost[0])
  # print(batch_id)
  if batch_id % 10 == 0:         #每100次batch打印一次训练、进行一次测试
   p = [np.sum(pre) for pre in sult]
   l = [np.sum(pre) for pre in lab]
   print(p,l,np.sum(sult),np.sum(lab))
   print('Pass:%d, Batch:%d, Cost:%0.5f' % (epochs, batch_id, train_cost[0]))
  step += 1
 # 保存模型
 if model_save_dir is not None:
  fluid.io.save_inference_model(model_save_dir, ['images'], [predict], exe)

print('训练模型保存完成!')
end = time.time()
print(time.strftime('V100训练用时:%M分%S秒',time.localtime(end-start)))

实时显示准确率用同样的方法

以上这篇Keras在训练期间可视化训练误差和测试误差实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 如何用python将文件夹内多个excel表格合并成总表

    如何用python将文件夹内多个excel表格合并成总表

    前几天遇见这么一个问题,手上有很多张表格,这些表格中都只有一个sheet,需要把这些表汇总到一张表,下面这篇文章主要给大家介绍了关于如何用python将文件夹内多个excel表格合并成总表的相关资料,需要的朋友可以参考下
    2023-06-06
  • python跳出双层for循环的解决方法

    python跳出双层for循环的解决方法

    今天小编就为大家分享一篇python跳出双层for循环的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • pyqt5实现俄罗斯方块游戏

    pyqt5实现俄罗斯方块游戏

    这篇文章主要介绍了pyqt5实现俄罗斯方块游戏,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • 解读python如何实现决策树算法

    解读python如何实现决策树算法

    在本篇文章里我们给读者们分享了关于python如何实现决策树算法的相关知识点内容,需要的朋友们参考下。
    2018-10-10
  • pytorch中的自定义反向传播,求导实例

    pytorch中的自定义反向传播,求导实例

    今天小编就为大家分享一篇pytorch中的自定义反向传播,求导实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python TensorFlow 2.6获取MNIST数据的示例代码

    Python TensorFlow 2.6获取MNIST数据的示例代码

    这篇文章主要介绍了Python TensorFlow 2.6获取MNIST数据的的相关示例,文中有详细的代码示例供大家参考,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-04-04
  • Python中sys.argv用法图文详解

    Python中sys.argv用法图文详解

    很多刚刚接触python的人来说,对于python中sys.argv[]往往不是很明白,下面这篇文章主要给大家介绍了关于Python中sys.argv用法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • PyTorch CUDA环境配置及安装的步骤(图文教程)

    PyTorch CUDA环境配置及安装的步骤(图文教程)

    这篇文章主要介绍了PyTorch CUDA环境配置及安装的步骤(图文教程),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Python类型注解必备利器typing模块全面解读

    Python类型注解必备利器typing模块全面解读

    在Python 3.5版本后引入的typing模块为Python的静态类型注解提供了支持,这个模块在增强代码可读性和维护性方面提供了帮助,本文将深入探讨typing模块,介绍其基本概念、常用类型注解以及使用示例,以帮助读者更全面地了解和应用静态类型注解
    2024-01-01
  • Python光学仿真学习处理高斯光束分布图像

    Python光学仿真学习处理高斯光束分布图像

    这篇文章主要为大家介绍了Python光学仿真学习之如何处理高斯光束的分布图像,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10

最新评论