交互式可视化工具
TensorBoard(TB)服务器会监视日志目录,所以重点是将数据输入到二进制的日志文件,并将TB服务器指向根日志目录,以使得每次运行时都写入不同的子目录。这样可以可视化比较程序多次运行的数据。
1.定义TB日志的根日志目录。创建一个将当前时间作为文件的子目录函数,以记录每次运行的不同文件。当然,目录可以含有超参数值,以便于比较。
keras.backend.clear_session()#用于清除所有Session
import os
fn=r'F:/TFdata/result'
root_logdir = os.path.join(fn, "my_logs")
def get_run_logdir():#日志生成函数
import time
run_id = time.strftime("run_%Y_%m_%d-%H_%M_%S")
return os.path.join(root_logdir, run_id)
run_logdir = get_run_logdir()#需要注意每次计算要记得先生成一个文件名
#咔咔咔,成立模型,并且编译模型,这里省略了,就是模型model已经有了
tensorboard_cb = keras.callbacks.TensorBoard(run_logdir)#调用回调函数
history = model.fit(X_train, y_train, epochs=30,
validation_data=(X_valid, y_valid),
callbacks=[tensorboard_cb])
2.启动TB服务器。
两种方法:第一种使用终端,在虚拟环境的cmd命令行中运行以下命令:
%tensorboard --logdir=./my_logs --port=6006
第二种,可以在Jupyter中直接运行来使用TB:
%load_ext tensorboard
%tensorboard --logdir=./my_logs --port=6006
这里./my_logs日志存放的位置若为自己定义的而非默认的需要为完整的绝对路径,port为展示端口。