TensorFlow – TensorBoard

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 UI

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

TensorBoard UI



浙ICP备17015664号-1 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载