解决Win10环境下TensorBoard不能正常显示的问题

问题描述       

        最近使用PyTorch训练神经网络,想要可视化一下训练中的loss曲线。使用的电脑是Windows10系统,浏览器为谷歌Chrome浏览器。安装好tensorboard包后按照官网教程来敲代码,然后执行。结果却发现谷歌浏览器只有窗口顶部标题栏显示“TensorBoard”,但是窗口中却没有内容。截图如下:

       

 

解决方案探索

        于是我搜索了大量的博客、论坛,确实有很多种解决方案:

      (1)有的说是路径问题的,于是我用各种路径形式都试了一遍,各种相对路径、绝对路径,各种斜杠形式都试过了,结果就是不显示。

      (2)有的说是换浏览器,于是我使用IE、Edge、Chrome、FireFox等都试过了,各种兼容模式也都打开了,同样不行,仍然不显示内容。

      (3)还有说是更改地址。因为默认的网络地址是“localhost:6006”,有的建议改为“127.0.0.1::6006”,有的建议使用通过--port参数设置其他端口如--port=8080等。甚至还有一个朋友通过自己用CMD命令行调试,发现自己机器实际运行这个python程序的不是127.0.0.1,而是某一个别的地址,更改成此地址后显示成功。但是采用上述方法,我的仍然不显示内容。

        于是不禁感叹windows平台怎么这么多坑,我换到自己的Mac笔记本上,按照官网教程直接一遍走通。到这里,问题算是解决了一半。为什么呢?因为在Mac本上没有问题,证明代码是没有问题的,问题肯定是Windows环境导致的。既然这多么时间花了,问题一定要解决!

        接下来又改变搜索关键词,无意中发现了一个论坛上说可能是浏览器脚本没有执行,截图如下:

       

        于是按照这个朋友的说法,是tensorboard版本问题导致的。我检测了一下我的版本,是tensorboard 2.1.1,和截图中的2.1.0很接近,猜想我遇到的问题应该和这个朋友是差不多的。所以我按照他的建议,卸载当前的tensorboard,安装较老的2.0.0版本的tensorboard。然后再执行tensorboard,果然奏效!

       

 

总结

        如果你也遇到Windows上Tensorboard显示异常的问题,可以尝试我之前列出的一些方法,判断自己的情况是属于哪一类问题导致的。如果所有方案都试过了还是不行,那也可能是版本问题导致的。

        慢慢踩坑前行吧,坑踩得多了,连在一起也就成了平坦的大道。