add_scalar 和add_image

write.add_scalar() --向摘要中添加标量数据。

将我们所需要的数据保存在文件里面供可视化使用

from torch.utils.tensorboard import SummaryWriter
​
write = SummaryWriter("logs")
​
# write.add_image()
for i in range(100):
    write.add_scalar("y=2x", 2 * i, i)  # scalar_value: Any, 第二个参数就相当于y轴     global_step: int = None,  第三个参数就相当于X轴
write.close()

如果需要使用TensorBoard 需要在环境中下载 tensorBoard pip install tensorBoard

 

 

进入标量数据图形化界面 tensorboard --logdir=文件地址 --port=端口号

 

 

add_image

参数说明

Args:
    tag (string): Data identifier    #数据标识
    img_tensor (torch.Tensor, numpy.array, 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
Shape:
            img_tensor: Default is :math:`(3, H, W)`. You can use ``torchvision.utils.make_grid()`` to
            convert a batch of tensor into 3xHxW format or call ``add_images`` and let us do the job.
            Tensor with :math:`(1, H, W)`, :math:`(H, W)`, :math:`(H, W, 3)` is also suitable as long as
            corresponding ``dataformats`` argument is passed, e.g. ``CHW``, ``HWC``, ``HW``.
            #使用这个函数时需要进行形状的选择 C代表的通道的颜色  H代表高度的意思  W代表宽度的意思  可以使用  图片.shape 进行查看 如果是(3,H,W) 默认就可以 如果是其他的及需要 使用 dataformats 进行更改

 

代码

from torch.utils.tensorboard import SummaryWriter
from PIL import Image
import numpy as np
​
write = SummaryWriter("logs")
img_PIL = Image.open(r"E:\Code\pytorch\dataset\train\ants\0013035.jpg") #把图片打开
print(type(img_PIL)) #判断 img_PIL的图片类型 为  JpegImageFile 不符合作为参数的条件 
img_np = np.array(img_PIL)# 把图片转换格式 
print(type(img_np)) # 符合 所需要的类型
print(img_np.shape) # 发现图片是HWC类型的就需要使用dataformats 属性进行改变
write.add_image("test", img_np, 1, dataformats="HWC")
write.close()

 

 进入标量数据图形化界面  `tensorboard --logdir=文件地址 --port=端口号`

 

 

 

posted @ 2022-04-22 08:59  冲!鸦  阅读(408)  评论(0)    收藏  举报