TensorBoard的使用(二)
1.使用add_image()给添加图片
-
首先导入Tensorboard包
from torch.utils.tensorboard import SummaryWriter
-
创建一个SummaryWriter类的实例,并将所有的事件文件保存在
logs
文件夹中writer = SummaryWriter('logs')
-
使用
add_image
方法增加图片image_path = './data/train/ants/0013035.jpg' img = cv.imread(image_path) writer.add_image(tag = 'image', # 添加的图片的标题 img_tensor = img, # 要加载的图片数据 global_step = 0, # 设置是当前tag下的第几个图片 dataformats='HWC' # 设置当前的图片数据是(长,宽, 通道数) ) writer.close()
-
执行下列命令,打开logs中保存的事件文件。同
add_scalar()
方法一样,同一个tag可以对应多个数据,使用global_step来表明是第几个数据。tensorboard --logdir=logs --port=6007
2.注意事项
-
add_image
的img_tensor
参数,该参数必须是下述数据类型之一 -
数据类型为numpy.ndarray时需要注意dataforms的取值:
add_image
的dataformats
参数,用于指定导入的数据各维度的含义C表示通道数、H表示图片数据长度、W表示图片数据宽度,以OpenCV读取的数据为例,图像转换为512*768*3的矩阵,第一个维度是行数即图像数据的长度H,第二维度是图像的宽度W,第三个数据表示三通道C。所以在
add_image()
的参数中dataformats
设置为HWC
。在实际应用中需要注意设置的img_tensor=img
的数据类型、数据存储方式,从而确定dataformats
的参数writer.add_image(tag = 'image', # 添加的图片的标题 img_tensor = img, # 要加载的图片数据 global_step = 0, # 设置是当前tag下的第几个图片 dataformats='HWC' # 设置当前的图片数据是(长,宽, 通道数) )