可视化: tensorboard visdom wandb
image
本文字数:786 字 | 阅读时长 ≈ 3 min

可视化: tensorboard visdom wandb

image
本文字数:786 字 | 阅读时长 ≈ 3 min

本文简要介绍三种常见的可视化库:tensorboard visdom 以及 wandb

1. tensorboard

1.1 安装

tensorboard 的安装很简单,如下所示,其中 tensorboardX 用于引入 SummaryWriter 类,tensorboard 库用来运行最终的文件

pip install tensorboard
pip install tensorboardX

1.2 基本使用

稍微复杂的是 add_image 函数,这里贴出使用链接

from tensorboardX import SummaryWriter

# 将生成的文件放在当前results/run目录下
writer = SummaryWriter('./results/run')

# 添加了三条loss曲线
writer.add_scalar('loss', loss.item(), step)
writer.add_scalar('PSNR on training data', psnr_train, step)
writer.add_scalar('PSNR on validation data', psnr_val, epoch)

# 保存固定节点的图片
writer.add_image('clean image', Img, epoch)
writer.add_image('noisy image', Imgn, epoch)
writer.add_image('reconstructed image', Irecon, epoch)

# 关闭writer
writer.close()

1.3 运行

程序执行完后就会在 results/run 文件夹下生成一个文件,开头为 events.out...,此时进入到 results 文件夹下,运行 tensorboard --logdir=run 点开链接即可

如果在服务器中运行需要将端口映射到本地,执行以下命令,如果是内网登陆,将 -p port 去掉即可,此时在服务器端输入 tensorboard --logdir=run --port=6006,然后在本地浏览器输入 127.0.0.1:16006/ 即可看到结果

注意:如果添加的图片有多张,tensorboard 默认只能显示 10 张,此时需要在命令中加入 --samples_per_plugin=images=100 即可

ssh -p port -L 16006:127.0.0.1:6006 user@ip

本文简要介绍三种常见的可视化库:tensorboard visdom 以及 wandb

2. wandb

2.1 安装

wandb 的安装很简单,只需要一条命令

pip install wandb

2.2 基本使用

对于 PyTorch:Quick start
Document:使用手册

在使用之前需要先注册一个 wandb 账号,这里不做说明,注册完之后在命令行中输入 wandb login 登录即可

注意:wandb 默认的是按照 step 记录的,也就是说每执行一次命令,就记录一次 step。如果需要将横坐标改为 epoch,那么每一次记录的 log 里面都要加入’‘epoch’': epoch,在窗口显示时选择横坐标为 epoch 即可

import wandb

# 初始化wandb
wandb.init(project="project nmae", entity="your account", config=opt)


# 添加了loss曲线
wandb.log({"loss": loss})  # 一条
wandb.log({"loss": loss, "acc": acc})  # 多条


# 曲线分类 train && val
wandb.define_metric("train/*")
wandb.define_metric("val/*")
wandb.log({"train/loss": loss, "train/acc": acc})
wandb.log({"val/loss": loss, "val/acc": acc})


# save max/min
# method 1
wandb.run.summary["best_accuracy"] = test_accuracy
# method 2
wandb.define_metric("loss", summary="min")  # min loss
wandb.define_metric("acc", summary="max")   # max acc
wandb.log({"loss": loss, "acc": acc})


# 保存固定节点的图片
imagesn = wandb.Image(imgn, caption="Top: Output, Bottom: Input")
wandb.log({"noisy images": imagesn})
images = wandb.Image(img, caption="Top: Output, Bottom: Input")
wandb.log({"clear images": images})

2.3 运行

程序执行完毕后直接登陆到官网然后查看自己账号目录下的文件即可

3. visdom

visdom 使用较少,之后用到再补充

3.1 安装

visdom 的安装很简单,如下所示

pip install visdom

3.2 基本使用

import visdom

3.3 运行

9月 09, 2024