1.add_image()的使用
需要的参数:
def add_image(
self, tag, img_tensor, global_step=None, walltime=None, dataformats="CHW"
):
"""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 “””
参数一:tag (str): Data identifier :title 标题
参数二:img_tensor (torch.Tensor, numpy.ndarray, or string/blobname): Image data
tensor格式或者ndarray格式或者string格式
不需要x轴
图片形状shape:
img_tensor: Default is :math:`(3, H, W)`.若是(H,W,C)则添加参数:dataformats='HWC'
writer.add_image("test",img_array,dataformats='HWC')
image_path = "dataset/train/ants/0013035.jpg"
from PIL import Image
img = Image.open(image_path)
img格式未PIL不满足
print(type(img))
out[1]:<class 'PIL.JpegImagePlugin.JpegImageFile'>
2.利用Opencv读取图片,获得numpy型图片数据
安装 pip install Opencv-python
3.将PIL数据转换为numpy型
import numpy as np
img_array = np.array(img)
print(type(img_array))
out[1]:<class 'numpy.ndarray'>
print(img_array.shape)
4.实例
from torch.utils.tensorboard import SummaryWriter
from PIL import Image
import numpy as np
#常用流程
# 创建实例
writer = SummaryWriter("logs") #存储文件夹名称为logs
img_path = "dataset/train/ants/0013035.jpg"
img_PIL = Image.open(img_path)
img_array = np.array(img_PIL)
print(img_array.shape)
writer.add_image("test",img_array,1,dataformats='HWC') # 1为步长
writer.close() #最后关闭
从PIL到numpy,需要在add_image()中指定shape中每一个数字/维表示的含义
想看蜜蜂,修改img_path和2
img_path = "dataset/train/bees/16838648_415acd9e3f.jpg"
writer.add_image("test",img_array,2,dataformats='HWC')