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()
两个都可以