标签: tensorboard

具有相同网络服务器的多个 TensorBoard

可以在同一台机器上运行多个张量板实例(具有不同的日志目录)。甚至还有可以启动/重用 TB 进程的tensorboard.manager 类。问题是所有这些 TB 在不同端口上运行不同的 Web 服务器。

我想更进一步,将所有这些 TB 置于具有单个端口的同一 Web 服务器下。(TB 应该是动态的 - 以便可以动态添加新的 TB。)

如果我可以将 '&logdir=gs://bla/bla' 添加到 URL 并让 TB 与该日志目录相对应,那就太好了。

实现这一目标的最简单方法是什么?

tensorflow tensorboard

5
推荐指数
1
解决办法
878
查看次数

AttributeError:模块“tensorboard”没有属性“lazy”

我有一个使用 Keras 和张量流后端的生成对抗网络。我正在运行 Tensorflow 1.14.0、Python 3.7.4 和 Keras 2.2.4。完整的错误是:

Using TensorFlow backend.
Traceback (most recent call last):
  File "C:/Users/Riley/PycharmProjects/shoeGAN/shoeWGAN.py", line 7, in <module>
    from keras.layers import *
  File "C:\Users\Riley\AppData\Local\Programs\Python\Python35\lib\site-packages\keras\__init__.py", line 3, in <module>
    from . import utils
  File "C:\Users\Riley\AppData\Local\Programs\Python\Python35\lib\site-packages\keras\utils\__init__.py", line 6, in <module>
    from . import conv_utils
  File "C:\Users\Riley\AppData\Local\Programs\Python\Python35\lib\site-packages\keras\utils\conv_utils.py", line 9, in <module>
    from .. import backend as K
  File "C:\Users\Riley\AppData\Local\Programs\Python\Python35\lib\site-packages\keras\backend\__init__.py", line 89, in <module>
    from .tensorflow_backend import *
  File "C:\Users\Riley\AppData\Local\Programs\Python\Python35\lib\site-packages\keras\backend\tensorflow_backend.py", line 5, in <module>
    import tensorflow as tf
  File …
Run Code Online (Sandbox Code Playgroud)

python attributeerror keras tensorflow tensorboard

5
推荐指数
1
解决办法
1万
查看次数

如何在Tensorboard中显示10张以上的图像?

我注意到,无论我将多少图像保存到张量板日志文件中,张量板都只会显示其中的 10 个(每个标签)。

我们如何增加图像数量或至少选择显示哪些图像?


要重现我的意思,请运行以下 MCVE:

import torch
from torch.utils.tensorboard import SummaryWriter
tb = SummaryWriter(comment="test")

for k in range(100):
    # create an image with some funny pattern
    b = [n for (n, c) in enumerate(bin(k)) if c == '1']
    img = torch.zeros((1,10,10))
    img[0, b, :] = 0.5
    img =img + img.permute([0, 2, 1])

    # add the image to the tensorboard file
    tb.add_image(tag="test", img_tensor=img, global_step=k)
Run Code Online (Sandbox Code Playgroud)

这将创建一个runs保存数据的文件夹。从同一文件夹执行tensorboard --logdir runs,打开浏览器并转到localhost:6006(或替换6006为启动后显示的任何端口张量板)。然后转到“图像”选项卡并将滑块移动到灰度图像上方。

就我而言,它仅显示步骤中的图像

k = 3, 20, …
Run Code Online (Sandbox Code Playgroud)

python-3.x tensorboard pytorch tensorboardx

5
推荐指数
1
解决办法
4217
查看次数

如何在tensorflow 2.0中监控梯度流?

我想在我的模型在 Tensorflow 2.0 中训练时监控梯度流。理想情况下,我希望在模型训练时将梯度存储在数组中,然后在训练完成后通过 matplotlib 查看它们。我该怎么做?

这是我想要运行的玩具模型:

tf.keras.backend.clear_session()

input_sequence = tf.keras.layers.Input(shape=[number_timesteps, number_features])
x = tf.keras.layers.Conv1D(2**5, 3, padding='same', activation='relu')(input_sequence)
x = tf.keras.layers.Flatten()(x)
x = tf.keras.layers.Dropout(0.5)(x)
output_sequence = tf.keras.layers.Dense(number_classes, activation="softmax")(x)

model = tf.keras.Model(input_sequence, output_sequence)
model.compile(loss=tf.keras.losses.categorical_crossentropy, metrics=["accuracy"], optimizer=tf.keras.optimizers.Adam())
model.summary()

model.fit(...)
Run Code Online (Sandbox Code Playgroud)

python tensorflow tensorboard

5
推荐指数
0
解决办法
1226
查看次数

张量板不显示验证集上的准确性和损失图

我是机器学习的新手,我正在尝试制作图像分类器,模型训练正确,但问题出在张量板上,如何可视化验证集上的损失和准确性图?你唯一看到的是测试集上的损失和准确性

model.compile(loss='categorical_crossentropy',
                                optimizer='adam',
                                metrics=['accuracy'])
model.fit(X, y, batch_size=32, epochs=5, validation_split=0.3, callbacks=[tensorboard])
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

python tensorflow tensorboard

5
推荐指数
1
解决办法
3184
查看次数

将 TensorBoard 图像序列转换为视频/GIF

我有一个脚本,可以生成一系列 matplotlib 图形并使用 TensorBoard 将它们写入磁盘SummaryWriter()。TensorBoard 提供了移动小滑块以在图像序列中向前和向后前进的功能,但我想将图像序列转换为视频或动画。有没有办法做到这一点?

编辑 1:这是我的代码当前功能的简化示例。我想将写入日志文件的图像.add_figure转换为 gif。

import matplotlib.pyplot as plt
import numpy as np
from torch.utils.tensorboard import SummaryWriter

n = 200
nframes = 25
x = np.linspace(-np.pi*4, np.pi*4, n)
tensorboard_writer = SummaryWriter()

for i, t in enumerate(np.linspace(0, np.pi, nframes)):
    plt.plot(x, np.cos(x + t))
    plt.plot(x, np.sin(2*x - t))
    plt.plot(x, np.cos(x + t) + np.sin(2*x - t))
    plt.ylim(-2.5,2.5)
    fig = plt.gcf()
    tensorboard_writer.add_figure(
        tag='temp',
        figure=fig,
        global_step=i,
        close=True)

Run Code Online (Sandbox Code Playgroud)

video animation image matplotlib tensorboard

5
推荐指数
1
解决办法
1323
查看次数

如何使用“tf.keras.callbacks.TensorBoard”记录激活?

的文档tf.keras.callbacks.TensorBoard说明该工具可以做到这一点:

此回调记录 TensorBoard 的事件,包括:

  • 指标汇总图
  • 训练图可视化
  • 激活直方图
  • 抽样分析

稍后还有:

histogram_freq:计算模型各层的激活和权重直方图的频率(以纪元为单位) 。如果设置为 0,则不会计算直方图。必须为直方图可视化指定验证数据(或分割)。

但是,当使用此参数时,我没有看到任何写入的激活摘要,只写入了权重本身。查看源代码,我也没有看到任何与激活相关的内容。

那么我错过了什么吗?是否可以在 TF2 中编写没有自定义代码的激活摘要?

python keras tensorflow tensorboard

5
推荐指数
1
解决办法
1480
查看次数

从 google Colab 使用时 Tensorboard 无法正常工作

我很难理解如何让 Tensorboard 在 Google Colab 上运行的笔记本上正常工作。我将在下面发布一系列用于处理张量板的代码片段。

\n

TensorFlow 版本:2.2.0
\nEager 模式:True
\nHub 版本:0.8.0
\nGPU 可用

\n
%load_ext tensorboard\nimport tensorflow as tf\nfrom tensorboard.plugins.hparams import api as hp\n
Run Code Online (Sandbox Code Playgroud)\n
callbacks = [\n        \n        EarlyStopping(monitor=monitor_metric,\n                      min_delta=minimum_delta,\n                      patience=patience_limit,\n                      verbose=verbose_value,\n                      mode=mode_value,\n                      restore_best_weights=True),\n\n        ModelCheckpoint(filepath=weights_fname,\n                        monitor=monitor_metric,\n                        verbose=verbose_value,\n                        save_best_only=True,\n                        save_weights_only=True),\n        \n        tf.keras.callbacks.TensorBoard(logdir), #used here\n\n        TensorBoardColabCallback(tbc),\n        \n        hp.KerasCallback(logdir, hparams) #used here\n    ]\n    \n    return callbacks\n
Run Code Online (Sandbox Code Playgroud)\n

初始化将由 Tensorboard 记录的超参数

\n
HP_HIDDEN_UNITS = hp.HParam(\'batch_size\', hp.Discrete([128]))\nHP_EMBEDDING_DIM = hp.HParam(\'embedding_dim\', hp.Discrete([50, 100]))\nHP_LEARNING_RATE = hp.HParam(\'learning_rate\', hp.Discrete([0.01])) # Adam default: 0.001, SGD default: 0.01, RMSprop …
Run Code Online (Sandbox Code Playgroud)

python tensorboard google-colaboratory

5
推荐指数
0
解决办法
1033
查看次数

张量流 v2 梯度未显示在张量板直方图上

我有一个简单的神经网络,我尝试使用张量板通过使用回调来绘制梯度,如下所示:

class GradientCallback(tf.keras.callbacks.Callback):
    console = False
    count = 0
    run_count = 0

    def on_epoch_end(self, epoch, logs=None):
        weights = [w for w in self.model.trainable_weights if 'dense' in w.name and 'bias' in w.name]
        self.run_count += 1
        run_dir = logdir+"/gradients/run-" + str(self.run_count)
        with tf.summary.create_file_writer(run_dir).as_default(),tf.GradientTape() as g:
          # use test data to calculate the gradients
          _x_batch = test_images_scaled_reshaped[:100]
          _y_batch = test_labels_enc[:100]
          g.watch(_x_batch)
          _y_pred = self.model(_x_batch)  # forward-propagation
          per_sample_losses = tf.keras.losses.categorical_crossentropy(_y_batch, _y_pred) 
          average_loss = tf.reduce_mean(per_sample_losses) # Compute the loss value
          gradients = g.gradient(average_loss, self.model.weights) # …
Run Code Online (Sandbox Code Playgroud)

tensorboard tensorflow2.0 gradienttape

5
推荐指数
1
解决办法
1342
查看次数

Sagemaker 在训练期间不将 Tensorboard 日志输出到 S3

我正在使用 Amazon Sagemaker 通过 Tensorflow 训练模型,并且我希望能够在作业运行时监控训练进度。然而,在训练期间,不会将 Tensorboard 文件输出到 S3,只有训练作业完成后,文件才会上传到 S3。训练完成后,我可以下载文件并看到 Tensorboard 在整个训练过程中正确记录值,尽管训练完成后仅在 S3 中更新一次。

我想知道为什么 Sagemaker 在整个训练过程中不将 Tensorboard 信息上传到 S3?

以下是我在 Sagemaker 上的笔记本中启动训练工作的代码

import sagemaker
from sagemaker.tensorflow import TensorFlow
from sagemaker.debugger import DebuggerHookConfig, CollectionConfig, TensorBoardOutputConfig

import time

bucket = 'my-bucket'
output_prefix = 'training-jobs'
model_name = 'my-model'
dataset_name = 'my-dataset'
dataset_path = f's3://{bucket}/datasets/{dataset_name}'

output_path = f's3://{bucket}/{output_prefix}'
job_name = f'{model_name}-{dataset_name}-training-{time.strftime("%Y-%m-%d-%H-%M-%S", time.gmtime())}'
s3_checkpoint_path = f"{output_path}/{job_name}/checkpoints" # Checkpoints are updated live as expected
s3_tensorboard_path = f"{output_path}/{job_name}/tensorboard" # Tensorboard data isn't appearing here until the …
Run Code Online (Sandbox Code Playgroud)

python amazon-web-services tensorflow tensorboard amazon-sagemaker

5
推荐指数
1
解决办法
1447
查看次数