时间:2021-05-22
直接上代码:
fig_loss = np.zeros([n_epoch])fig_acc1 = np.zeros([n_epoch])fig_acc2= np.zeros([n_epoch])for epoch in range(n_epoch): start_time = time.time() #training train_loss, train_acc, n_batch = 0, 0, 0 for x_train_a, y_train_a in minibatches(x_train, y_train, batch_size, shuffle=True): _,err,ac=sess.run([train_op,loss,acc], feed_dict={x: x_train_a, y_: y_train_a}) train_loss += err; train_acc += ac; n_batch += 1 summary_str = sess.run(merged_summary_op,feed_dict={x: x_train_a, y_: y_train_a}) summary_writer.add_summary(summary_str, epoch) print(" train loss: %f" % (np.sum(train_loss)/ n_batch)) print(" train acc: %f" % (np.sum(train_acc)/ n_batch)) fig_loss[epoch] = np.sum(train_loss)/ n_batch fig_acc1[epoch] = np.sum(train_acc) / n_batch #validation val_loss, val_acc, n_batch = 0, 0, 0 for x_val_a, y_val_a in minibatches(x_val, y_val, batch_size, shuffle=False): err, ac = sess.run([loss,acc], feed_dict={x: x_val_a, y_: y_val_a}) val_loss += err; val_acc += ac; n_batch += 1 print(" validation loss: %f" % (np.sum(val_loss)/ n_batch)) print(" validation acc: %f" % (np.sum(val_acc)/ n_batch)) fig_acc2[epoch] = np.sum(val_acc) / n_batch# 训练loss图fig, ax1 = plt.subplots()lns1 = ax1.plot(np.arange(n_epoch), fig_loss, label="Loss")ax1.set_xlabel('iteration')ax1.set_ylabel('training loss')# 训练和验证两种准确率曲线图放在一张图中fig2, ax2 = plt.subplots()ax3 = ax2.twinx()#由ax2图生成ax3图lns2 = ax2.plot(np.arange(n_epoch), fig_acc1, label="Loss")lns3 = ax3.plot(np.arange(n_epoch), fig_acc2, label="Loss")ax2.set_xlabel('iteration')ax2.set_ylabel('training acc')ax3.set_ylabel('val acc') # 合并图例lns = lns3 + lns2labels = ["train acc", "val acc"]plt.legend(lns, labels, loc=7)plt.show()结果:
补充知识:tensorflow2.x实时绘制训练时的损失和准确率
我就废话不多说了,大家还是直接看代码吧!
sgd = SGD(lr=float(model_value[3]), decay=1e-6, momentum=0.9, nesterov=True)model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])# validation_split:0~1之间的浮点数,用来指定训练集的一定比例数据作为验证集history=model.fit(self.x_train, self.y_train, batch_size=self.batch_size, epochs=self.epoch_size, class_weight = 'auto', validation_split=0.1)# 绘制训练 & 验证的准确率值plt.plot(history.history['accuracy'])plt.plot(history.history['val_accuracy'])plt.title('Model accuracy')plt.ylabel('Accuracy')plt.xlabel('Epoch')plt.legend(['Train', 'Test'], loc='upper left')plt.show() # 绘制训练 & 验证的损失值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()print("savemodel---------------")model.save(os.path.join(model_value[0],'model3_3.h5'))#输出损失和精确度score = model.evaluate(self.x_test, self.y_test, batch_size=self.batch_size)以上这篇在tensorflow下利用plt画论文中loss,acc等曲线图实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了C#绘制曲线图的方法。分享给大家供大家参考。具体如下:1.曲线图效果:2.C#代码://////自动根据参数调整图像大小///publicvoid
excel如何根据表格里的数据绘制曲线图?下面小编带来excel曲线图绘制方法,有兴趣的朋友一起来看看吧。excel曲线图绘制方法:绘制正弦曲线:由于我们要生成
刚刚做了可以动态去刷新的曲线图,下面再来实现一个可以选择显示那个显示值的曲线图。首先看一下效果:下面的多选框,选择以后会触发一个事件,等同与重新绘制了曲线图。重
如何编译安装QChart请查看下面文章Qt图形图像开发之曲线图表库QtChart编译安装详细方法与使用实例使用Qt曲线图表模块Chart库首先要注意3点:(1)
ps改色板颜色的方法是: 1、在执行“窗口-颜色”菜单命令,打开“颜色”面板。 2、如果要在四色曲线图上拾取颜色,可以将光标放在四色曲线图上,当光标变成吸管