TensorBoard: Difference between revisions
No edit summary |
|||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
TensorBoard is a way to visualize your model and various statistics during or after training. | |||
== | ==CLI Usage== | ||
===CLI=== | |||
<pre> | |||
tensorboard --logdir [logs] | |||
</pre> | |||
;Flags | |||
*<code>--samples_per_plugin</code> indices the number of samples to show for each tab. Non-scalar objects are sampled using reservoir sampling. | |||
** <code>--samples_per_plugin images=10000</code> samples approximately 10000 images. | |||
==Training Usage== | |||
If you're using a custom training loop (i.e. gradient tape), then you'll need to set everything up manually. | If you're using a custom training loop (i.e. gradient tape), then you'll need to set everything up manually. | ||
First create a <code>SummaryWriter</code> | |||
<syntaxhighlight lang="python"> | |||
train_log_dir = os.path.join(args.checkpoint_dir, "logs", "train") | |||
train_summary_writer = tf.summary.create_file_writer(train_log_dir) | |||
</syntaxhighlight> | |||
===Scalars=== | ===Scalars=== | ||
Add scalars using <code>tf.summary.scalar</code>: | |||
<syntaxhighlight lang="python"> | |||
with train_summary_writer.as_default(): | |||
tf.summary.scalar("training_loss", m_loss.numpy(), step=int(ckpt.step)) | |||
</syntaxhighlight> | |||
==PyTorch== | |||
PyTorch also supports output tensorboard logs. | |||
See [https://pytorch.org/docs/stable/tensorboard.html https://pytorch.org/docs/stable/tensorboard.html]. | |||
There is also [https://github.com/lanpa/tensorboardX lanpa/tensorboardX] but I haven't tried it. | |||
<syntaxhighlight lang="python"> | |||
from torch.utils.tensorboard import SummaryWriter | |||
writer = SummaryWriter(log_dir="./runs") | |||
writer.add_scalar("train_loss", loss_np, step) | |||
# Optionally flush e.g. at checkpoints | |||
writer.flush() | |||
# Close the writer (will flush) | |||
writer.close() | |||
</syntaxhighlight> | |||
==Resources== | ==Resources== | ||
* [https://www.tensorflow.org/tensorboard/get_started Getting started with TensorBoard] | * [https://www.tensorflow.org/tensorboard/get_started Getting started with TensorBoard] | ||
* [https://www.youtube.com/watch?v=eBbEDRsCmv4 Hands-on TensorBoard (TensorFlow Dev Summit 2017)] |
Latest revision as of 14:22, 11 November 2020
TensorBoard is a way to visualize your model and various statistics during or after training.
CLI Usage
CLI
tensorboard --logdir [logs]
- Flags
--samples_per_plugin
indices the number of samples to show for each tab. Non-scalar objects are sampled using reservoir sampling.--samples_per_plugin images=10000
samples approximately 10000 images.
Training Usage
If you're using a custom training loop (i.e. gradient tape), then you'll need to set everything up manually.
First create a SummaryWriter
train_log_dir = os.path.join(args.checkpoint_dir, "logs", "train")
train_summary_writer = tf.summary.create_file_writer(train_log_dir)
Scalars
Add scalars using tf.summary.scalar
:
with train_summary_writer.as_default():
tf.summary.scalar("training_loss", m_loss.numpy(), step=int(ckpt.step))
PyTorch
PyTorch also supports output tensorboard logs.
See https://pytorch.org/docs/stable/tensorboard.html.
There is also lanpa/tensorboardX but I haven't tried it.
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter(log_dir="./runs")
writer.add_scalar("train_loss", loss_np, step)
# Optionally flush e.g. at checkpoints
writer.flush()
# Close the writer (will flush)
writer.close()