第一篇文章详细介绍了tensorboard可视化的方法;第二篇文章介绍了乌班图系统上利用git工具实现网络训练过程本地可视化的步骤。下面以第一篇文章的第一个例子为例,在Spyder编译器上演示一遍,然后将第二篇文章所述方法详细实现。

一、在spyder编译器利用tensorboard实现网络训练可视化

将第一篇文章中矩阵相乘代码放在桌面的tensorboard文件内,并命名为tensorboardtest.py。具体代码如下:

import tensorflow as tf

with tf.name_scope('graph') as scope:
     matrix1 = tf.constant([[3., 3.]],name ='matrix1')  #1 row by 2 column
     matrix2 = tf.constant([[2.],[2.]],name ='matrix2') # 2 row by 1 column
     product = tf.matmul(matrix1, matrix2,name='product')
  
sess = tf.Session()

writer = tf.summary.FileWriter("logs/", sess.graph)

init = tf.global_variables_initializer()

sess.run(init)

启动anaconda,切换到相应的工作环境,打开Spyder,将tensorboardtest.py拖动到Spyder中,并将Spyder工作目录修改为tensorboard,如下:

CNN网络可视化MNIST 网络训练可视化_tensorboard

运行代码,结束后,tensorboard文件中,有了logs文件夹,文件夹下面有对应的日志文件:

CNN网络可视化MNIST 网络训练可视化_端口号_02

然后,我们按照第一篇文章的方法,在windows中输入tensorboard --logdir logs,如下:

CNN网络可视化MNIST 网络训练可视化_端口号_03

在浏览器打开http://desktop-34kc97t:6006/  ,就可以看到可视化界面了。如果打不开,可以将端口号前面的内容换成“localhost”,如:http://localhost:6006/,就OK了,如下:

CNN网络可视化MNIST 网络训练可视化_服务器_04

二、实现将Linux服务器上的网络训练记录文件利用tensorboard本地可视化

第二篇文章已经简明地说了整个过程,我们这里在细节上,再具体阐述一下。

首先,根据自己本地系统下载相应版本的git,网址为https://git-scm.com/downloads

CNN网络可视化MNIST 网络训练可视化_CNN网络可视化MNIST_05

安装完成后,打开Git Bash,等待一会儿,出现如下界面:

CNN网络可视化MNIST 网络训练可视化_tensorboard_06

按照第二篇文章的指导,输入ssh -L 6006:127.0.0.1:6006 用户名@服务器ip地址 -p 服务器起始端口号,其中“用户名”、服务器ip地址、服务器起始端口号自己输入,如果有密码,还得输入正确的密码,如图:

CNN网络可视化MNIST 网络训练可视化_CNN网络可视化MNIST_07

在服务器端进入日志记录文件的上一层文件夹,即当前目录包含logs文件夹。当然,如果用GPU需要指定第几块GPU,如果使用第0块,代码为:export CUDA_VISIBLE_DEVICES=0。然后,输入指令:tensorboard --logdir logs。(操作基本上与第一篇文章所述相同。)具体显示如下:

CNN网络可视化MNIST 网络训练可视化_ubantu_08

在浏览器中打开网址http://127.0.0.1:6006/,便能看到可视化结果,如下:

CNN网络可视化MNIST 网络训练可视化_tensorboard_09