机器学习的 TensorBoard
TensorBoard是一个工具,用于提供机器学习工作流期间所需的测量和可视化。它可以跟踪实验指标,如损失和精度,可视化模型图,将嵌入投影到低维空间,等等。
如何快速开始使用TensorBoard
使用mnist的例子进行TensorBoard例子
建立模型
mnist = tf.keras.datasets.mnist
(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
def create_model():
return tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(512, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
在model.fit和TensorBoard使用
项目的目录需要建立一个logs/fit目录,手工建立即可。model训练时候,会有回调callBacks=[tensortboard_callback]将日志按照时间搓的写入到文件夹中的文件中。
model = create_model()
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)
model.fit(x=x_train,
y=y_train,
epochs=5,
validation_data=(x_test, y_test),
callbacks=[tensorboard_callback])
运行记录截取部分。生成的目录文件夹截取
在项目的目录下运行 tensorboard --logdir logs/fit
tensorboard --logdir logs/fit
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.1.1 at http://localhost:6006/ (Press CTRL+C to quit)
页面展现
仪表板作用
- Scalars仪表板显示了损失和度量是如何随每个时代而变化的。您还可以使用它来跟踪训练速度、学习率和其他标量值。
- 图形仪表板帮助您可视化模型。在这种情况下,将显示层的路缘石图形,这有助于确保正确构建。
- 分布图和直方图仪表板显示了张量随时间的分布。这有助于可视化权重和偏差,并验证它们是否以预期的方式变化。
继续用TensorFlow仪表盘
用仪表盘查看算法调动。如
开始训练。在训练或者测试期间,在编写器的范围内记录指标(损失和准确性),以便将摘要写入磁盘。您可以控制记录哪些指标以及记录的频率。其他tf.总结函数允许记录其他类型的数据。保存到目录如下图
再次打开仪表盘
tensorboard --logdir logs/gradient_tape
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.1.1 at http://localhost:6006/ (Press CTRL+C to quit)