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


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

     1 keras.callbacks.TensorBoard(log_dir='./Graph', 
     2                     histogram_freq= 0 ,  
     3                     write_graph=True, 
     4                 write_images=True)
     5 tbCallBack = keras.callbacks.TensorBoard(log_dir='./Graph', 
     6                                          histogram_freq= 0, 
     7                                          write_graph=True, 
     8                                          write_images=True)
     9 10 11 model.compile(optimizer=optim,
    12               loss=MultiboxLoss(NUM_CLASSES, neg_pos_ratio=2.0).compute_loss, metrics=['accuracy'])
    13 nb_epoch = 30
    14 history = model.fit_generator(gen.generate(True), gen.train_batches,
    15                               nb_epoch, verbose=1,
    16                              callbacks=[tbCallBack],
    17                              validation_data=gen.generate(False),
    18                               nb_val_samples=gen.val_batches,
    19                               nb_worker=1)

    然后新开一个终端 
    输入:

    tensorboard --logdir path_to_current_dir/Graph 

    之后打开终端给出的网址即可。

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

    第一步:

     1 # define the function
     2 def training_vis(hist):
     3     loss = hist.history['loss']
     4     val_loss = hist.history['val_loss']
     5     acc = hist.history['acc']
     6     val_acc = hist.history['val_acc']
     7 
     8     # make a figure
     9     fig = plt.figure(figsize=(8,4))
    10     # subplot loss
    11     ax1 = fig.add_subplot(121)
    12     ax1.plot(loss,label='train_loss')
    13     ax1.plot(val_loss,label='val_loss')
    14     ax1.set_xlabel('Epochs')
    15     ax1.set_ylabel('Loss')
    16     ax1.set_title('Loss on Training and Validation Data')
    17     ax1.legend()
    18     # subplot acc
    19     ax2 = fig.add_subplot(122)
    20     ax2.plot(acc,label='train_acc')
    21     ax2.plot(val_acc,label='val_acc')
    22     ax2.set_xlabel('Epochs')
    23     ax2.set_ylabel('Accuracy')
    24     ax2.set_title('Accuracy  on Training and Validation Data')
    25     ax2.legend()
    26     plt.tight_layout()

    第二步:

    1 # train the model
    2 hist = model.fit(...)

    第三步:

    1 # call the function
    2 training_vis(hist)
  • 相关阅读:
    Check the string
    最简单的
    第七届ACM程序设计竞赛 (SDIBT)
    Cutie Pie
    CSS3 :nth-of-type() 与 nth-child()选择器
    Ajax 完整教程 转载地址:http://www.cnblogs.com/Garden-blog/archive/2011/03/11/1981778.html(转)
    排序:二元选择排序
    排序:堆排序
    排序:直接插入排序 稳定 n*n
    排序:冒泡和改进
  • 原文地址:https://www.cnblogs.com/tectal/p/9426994.html
Copyright © 2020-2023  润新知