zoukankan      html  css  js  c++  java
  • 在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)
  • 相关阅读:
    解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xyfer.dao.UserDao.findById
    Oracle使用MyBatis中RowBounds实现分页查询
    普元EOS开发经验总结——不定期持续更新中
    Vue数据列表倒计时展示
    Java后端学习路线
    Linux下命令行安装WebLogic 10.3.6
    Oracle快速运行一指禅
    maven学习知识点汇总
    EOS下控制台以及图形界面打印sql语句
    Myeclipse使用过程配置汇总
  • 原文地址:https://www.cnblogs.com/tectal/p/9426994.html
Copyright © 2011-2022 走看看