zoukankan      html  css  js  c++  java
  • DeeplabV3+ 命令行不显示miou的解决

    首先看到训练时会在命令行里输出 loss 和 total loss,那是怎么做到的呢,通过分析 train.py 源码,看到如下代码

        total_loss = tf.cond(
            should_log,
            lambda: tf.Print(total_loss, [total_loss], 'Total loss is :'),
            lambda: total_loss)
    
        summaries.append(tf.summary.scalar('total_loss', total_loss))

    是把 total_loss 加到了 summaries 里,然后就会输出在命令行了,那 summaries 是什么呢?

    通过百度看到一篇不错的博客:https://www.cnblogs.com/lyc-seu/p/8647792.html

    简单说就是在训练过程中,用tf.summary()的各类方法,能够保存训练过程以及参数分布图。并在tensorboard显示,tensorboard还没用过,等会再看看

    解决方法:

    照搬 train 的思路,新建一个 op,是个 tf.Print(),再加到 summaries 里应该就OK了

        print_miou = tf.Print(miou, [miou], 'miou is:')  #创建tf.Print()的op
        tf.summary.scalar('print_miou', print_miou)      #把这个op加到summary里,后面在tf.contrib.training.evaluate_repeatedly中会自动调用
        summary_op = tf.summary.merge_all()

     tf.Print参考这里:https://blog.csdn.net/thormas1996/article/details/81224405

    ---------------- 坚持每天学习一点点
  • 相关阅读:
    Tomcat December 31,2019
    XML
    Java
    mysql8.0.16安装(补) September 24,2019
    乱码中的编码和解码
    idea优化
    新版web.xml
    重定向和请求转发
    web下载文件设置的头信息
    响应状态码
  • 原文地址:https://www.cnblogs.com/tccbj/p/10675469.html
Copyright © 2011-2022 走看看