TensorBoard是什么?
TensorBoard是一个工具,可以图形化显示TensorFlow程序(神经网络),还可以显示许多训练过程中的指标数据,如损失、准确度或权重等。TensorBoard可以帮助用户更好地理解、调试和优化TensorFlow程序。
下面是一个线性回归模型的图形:
TensorBoard通过读取TensorFlow事件日志文件来呈现神经网络。TensorFlow事件日志文件记录了神经网络(计算图)构建详情。
TensorBoard界面
TensorBoard主界面如下所示:
主要栏目:
- Scalars/标量: 在模型训练期间显示不同的有用信息
- Graphs/图: 显示模型图形
- Histogram/直方图: 用直方图显示权重
- Distribution/分布: 显示权重的分布
- Projector/投影仪: 显示主成分分析和T-SNE算法,该技术用于降维
使用TensorBoard步骤
1. 启动TensorBoard
tensorboard --logdir=LOGDIR_PATH
LOGDIR_PATH 是项目日志目录。
2. 访问TensorBoard
Tensorboard 页面默认网址是 http://localhost:6006,使用浏览器访问改地址。
TensorBoard例子
1. 创建一个TensorFlow应用
TensorFlow应用代码如下所示,如果代码中有不理解的没关系,后续章节将详细介绍,现在让我们聚焦TensorBoard。
# 导入库
import tensorflow as tf
import numpy as np
# 准备数据
X_train = (np.random.sample((10000,5)))
y_train = (np.random.sample((10000,1)))
X_train.shape
# 转换数据并创建模型
feature_columns = [tf.feature_column.numeric_column('x', shape=X_train.shape[1:])]
DNN_reg = tf.estimator.DNNRegressor(
feature_columns=feature_columns,
# 指定日志路径
model_dir='./train/tensorboard',
hidden_units=[500, 300],
optimizer=tf.train.ProximalAdagradOptimizer(
learning_rate=0.1,
l1_regularization_strength=0.001
)
)
# 训练模型
train_input = tf.estimator.inputs.numpy_input_fn(
x={"x": X_train},
y=y_train,
shuffle=False,
num_epochs=None
)
DNN_reg.train(train_input, steps=3000)
2. 执行应用,生成日志文件
执行应用
(tensorflow_env) g:\qikegu\tensorflow>python tensorboard-demo1.py
将在./train/tensorboard
目录下生成日志文件:
(tensorflow_env) g:\qikegu\tensorflow>dir .\train\tensorboard
驱动器 G 中的卷是 数据
卷的序列号是 0C52-9CF4
g:\qikegu\tensorflow\train\tensorboard 的目录
2019/07/25 14:26 <DIR> .
2019/07/25 14:26 <DIR> ..
2019/07/25 14:26 130 checkpoint
2019/07/25 14:26 504,853 events.out.tfevents.1564035978.QIKEGU
2019/07/25 14:26 278,076 graph.pbtxt
2019/07/25 14:26 8 model.ckpt-0.data-00000-of-00002
2019/07/25 14:26 1,228,808 model.ckpt-0.data-00001-of-00002
2019/07/25 14:26 634 model.ckpt-0.index
2019/07/25 14:26 125,346 model.ckpt-0.meta
2019/07/25 14:26 8 model.ckpt-3000.data-00000-of-00002
2019/07/25 14:26 1,228,808 model.ckpt-3000.data-00001-of-00002
2019/07/25 14:26 634 model.ckpt-3000.index
2019/07/25 14:26 125,346 model.ckpt-3000.meta
11 个文件 3,492,651 字节
2 个目录 74,094,866,432 可用字节
3. 启动TensorBoard
tensorboard --logdir=./train/tensorboard
4. 访问界面
使用浏览器打开 http://localhost:6006