03-Tensorboard的使用

Tensorboard的使用

安装:

  • 打开Anaconda Prompt

  • 激活pytorch环境:conda activate pytorch

  • pip install tensorboard

1.SummaryWriter

Writes entries directly to event files in the log_dir to be consumed by TensorBoard.

add_scalar()方法

Add scalar data to summary

方法的参数(形象的解释):

Args: tag (str): Data identifier : 图像标题 scalar_value (float or string/blobname): Value to save : 图像 y 轴坐标 global_step (int): Global step value to record :图像 x 轴坐标 walltime (float): Optional override default walltime (time.time()) with seconds after epoch of event new_style (boolean): Whether to use new style (tensor field) or old style (simple_value field). New style could lead to faster data loading.

示例:
from torch.utils.tensorboard import SummaryWriter
​
writer = SummaryWriter("logs")  # 运行后当前目录下会多出一个 "logs" 文件夹
​
# writer.add_image()
​
for i in range(100):
    # 参数分别为:图像标题、y轴、x轴
    writer.add_scalar(tag="y=x", scalar_value=i, global_step=i)
​
writer.close()
如何打开事件文件?
方法:Anaconda Prompt命令行 / Pycharm:Tenminal
(pytorch) PS C:\Users\31058\Desktop\MyProject\ML> tensorboard --logdir=logs
TensorFlow installation not found - running with reduced feature set.
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.15.0 at http://localhost:6006/ (Press CTRL+C to quit)

注:默认打开的是本机的6006端口,但如果一台主机上有很多人同时进行训练时,同时打开一个端口会出现冲突

方法:指定端口

(pytorch) PS C:\Users\31058\Desktop\MyProject\ML> tensorboard --logdir=logs --port=6007
TensorFlow installation not found - running with reduced feature set.
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.15.0 at http://localhost:6007/ (Press CTRL+C to quit)

注:如果多次执行,但不改变 add_scalar() 中 tag 参数的值的时候:如在原本 y=2x 的图像上再此绘制 y = 3x 的图像,则会出现强行拟合的问题

解决办法:

  • 删除logs目录下的文件后再执行

  • you can have each new training job write to a new subdirectory(of your top level log directory)

add_image()方法

Add image data to summary

Args: tag (str): Data identifier img_tensor (torch.Tensor, numpy.ndarray, or string/blobname): Image data : 注意此处的数据类型要求 global_step (int): Global step value to record walltime (float): Optional override default walltime (time.time()) seconds after epoch of event dataformats (str): Image data format specification of the form CHW, HWC, HW, WH, etc.

示例:
from torch.utils.tensorboard import SummaryWriter
import numpy as np
from PIL import Image
​
writer = SummaryWriter("logs")  # 运行后当前目录下会多出一个 "logs" 文件夹
​
# 随便选一张图片的地址
img_PIL = Image.open(r"C:\Users\(写你自己的文件路劲)\.jpg")
img_arr = np.array(img_PIL)
​
print(img_arr.shape)  # (512, 768, 3)
​
writer.add_image(tag="test", img_tensor=img_arr, global_step=2, dataformats='HWC')  # 注意dataformats参数的指定
​
writer.close()

通过该方式我们可以很直观的观察到我们在训练的时候给model提供了哪些数据,或者对model进行测试的时候可以直观观察每个阶段的输出结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值