在keras中使用tensorboard可视化acc等曲线

1.使用tensorboard可视化ACC,loss等曲线

最近在用keras的时候想要将曲线可视化出来,使用了tensorboard,参考了

https://stackoverflow.com/questions/42112260/how-do-i-use-the-tensorboard-callback-of-keras

https://blog.csdn.net/qq_33039859/article/details/79283651

实现过程:

keras.callbacks.TensorBoard(log_dir='./Graph', 
                    histogram_freq= 0 ,  
                    write_graph=True, 
                write_images=True)
tbCallBack = keras.callbacks.TensorBoard(log_dir='./Graph', 
                                         histogram_freq= 0, 
                                         write_graph=True, 
                                         write_images=True)
…
…
model.compile(optimizer=optim,
              loss=MultiboxLoss(NUM_CLASSES, neg_pos_ratio=2.0).compute_loss, metrics=['accuracy'])
nb_epoch = 30
history = model.fit_generator(gen.generate(True), gen.train_batches,
                              nb_epoch, verbose=1,
                             callbacks=[tbCallBack],
                             validation_data=gen.generate(False),
                              nb_val_samples=gen.val_batches,
                              nb_worker=1)

然后新开一个终端
输入:

tensorboard --logdir path_to_current_dir/Graph 

之后打开终端给出的网址~
就可以啦

2. 直接使用matplotlib画出训练LOSS与ACC曲线

# summarize history for accuracy
plt.plot(history.history['acc'])
plt.plot(history.history['val_acc'])
plt.title('harbor-model-accuracy')
plt.ylabel('accuracy')
plt.xlabel('epoch')
plt.legend(['train', 'test'], loc='upper left')
plt.tight_layout()
plt.savefig('./accuracyVSepoch.png')
plt.show()
# summarize history for loss
plt.plot(history.history['loss'])
plt.plot(history.history['val_loss'])
plt.title('harbor-model-loss')
plt.ylabel('loss')
plt.xlabel('epoch')
plt.legend(['train', 'test'], loc='upper left')
plt.tight_layout()
plt.savefig('./lossVSepoch.png')
plt.show()

两个都可以

猜你喜欢

转载自blog.csdn.net/yinhuan1649/article/details/80628972