pytorch逐渐吸引了更多的学术界以及工业界的注目,很多人在用pytorch时依然放不下tensorflow的可视化神奇tensorboard,如何能在使用
pytorch的同时享受tensorboard给我们带来的视觉体验呢?答案就是tensorboardX,这里强力安利一波:
先放github链接: tenserboardX_github
安装极其简便:
pip install tensorboardX
或者:
pip install git+https://github.com/lanpa/tensorboard-pytorch
然后就用吧哈哈~~
运行自己写的train.py会在“./log”目录下生成一个events.out.tfevents.{time}.{machine-name}的文件,需要注意的是不要用中文命名目录,中文目录中看不到任何图形。然后还有一个问题是我们跑程序时候往往会各种调参各种换模型的跑,会在一个log下面生成大量这种文件,而tensorboard是没法读取超过两个的(貌似),所以我的解决方案是这样:
要看的留在log文件夹下,把不用的放到另一个文件夹就行了,简单粗暴
当然如果是在公司使用,可能会有跳板机,这样在用的时候就需要注意了,直接用给的网址就会找不到了,那么该怎么做呢?
其实也很简单,一般跳板机只开放了某几个端口,必须从里面挑选使用,所以tensorboardX默认的6006端口或者visdom(facebook自己出的可视化工具)默认的8097端口就用不了了,需要制定端口才行,跳板机会有端口映射信息,比如这样:
比如我们指定8003端口:
tensorboard --logdir='./log' --port=8003
这样在网址上输入8003对应的ip:port就可以啦,比如我这里就是 http://mesos-gpu-online020-bjdx11.cloud.qiyi.domain:31006,不用理会它让我们输的网址。其中logdir填写存放生成文件的地址,一般是python文件当前目录下的logs文件夹。
如果出现以下情况:
很可能是logdir写错了,注意一下绝对路径相对路径的问题,应该就没错了~
visdom就很类似了
python -m visdom.server -port=8003