TensorBoard:TensorFlow 的可视化工具包
TensorBoard 提供机器学习实验所需的可视化功能和工具:
- 跟踪和可视化损失及准确率等指标
- 可视化模型图(操作和层)
- 查看权重、偏差或其他张量随时间变化的直方图
- 将嵌入投射到较低的维度空间
- 显示图片、文字和音频数据
- 剖析 TensorFlow 程序
- 以及更多功能
其实使用非常简单,就可以简单理解是一个可视化工具
完整代码如下: 参数含义自行查看源码
官方文档: https://pytorch.org/docs/stable/tensorboard.html
r"""
tensorbord
TensorBoard:TensorFlow 的可视化工具包
TensorBoard 提供机器学习实验所需的可视化功能和工具:
跟踪和可视化损失及准确率等指标
可视化模型图(操作和层)
查看权重、偏差或其他张量随时间变化的直方图
将嵌入投射到较低的维度空间
显示图片、文字和音频数据
剖析 TensorFlow 程序
以及更多功能
"""
from torch.utils.tensorboard import SummaryWriter
import numpy as np
writer = SummaryWriter("datas/tensorboard")
for n_iter in range(100):
writer.add_scalar('Loss/train', np.random.random(), n_iter)
writer.add_scalar('Loss/test', np.random.random(), n_iter)
writer.add_scalar('Accuracy/train', np.random.random(), n_iter)
writer.add_scalar('Accuracy/test', np.random.random(), n_iter)
x = range(100)
for i in x:
writer.add_scalar('y=2x', i * 2, i)
r = 5
for i in range(100):
writer.add_scalars('run_14h', {'xsinx':i*np.sin(i/r),
'xcosx':i*np.cos(i/r),
'tanx': np.tan(i/r)}, i)
for i in range(10):
x = np.random.random(1000)
writer.add_histogram('distribution centers', x + i, i)
img = np.zeros((3, 100, 100))
img[0] = np.arange(0, 10000).reshape(100, 100) / 10000
img[1] = 1 - np.arange(0, 10000).reshape(100, 100) / 10000
img_HWC = np.zeros((100, 100, 3))
img_HWC[:, :, 0] = np.arange(0, 10000).reshape(100, 100) / 10000
img_HWC[:, :, 1] = 1 - np.arange(0, 10000).reshape(100, 100) / 10000
writer.add_image('my_image', img, 0)
# If you have non-default dimension setting, set the dataformats argument.
writer.add_image('my_image_HWC', img_HWC, 0, dataformats='HWC')
img_batch = np.zeros((16, 3, 100, 100))
for i in range(16):
img_batch[i, 0] = np.arange(0, 10000).reshape(100, 100) / 10000 / 16 * i
img_batch[i, 1] = (1 - np.arange(0, 10000).reshape(100, 100) / 10000) / 16 * i
writer.add_images('my_image_batch', img_batch, 0)
writer.add_text('lstm', 'This is an lstm', 0)
writer.add_text('rnn', 'This is an rnn', 10)
writer.close()
命令行运行: 默认短裤6006 可以修改
tensorboard --logdir=datas/tensorboard --port 6006
浏览器访问:
http://localhost:6006/#timeseries