目录
一、TensorBoard的使用(打开图片)
1、函数的使用:
def add_image(self, tag, img_tensor, global_step=None, walltime=None, dataformats="CHW"):
''''''
参数使用:
tag (str): 图表标题
img_tensor (torch.Tensor, numpy.ndarray, or string/blobname): 图像的数据类型
global_step (int): 记录标量的全局步数,通常用于表示训练过程中的时间点
walltime (float):不常用
dataformats (str):图像数据类型的特殊说明(C是通道;H是高度;W是宽度)
NCHW, NHWC, CHW, HWC, HW, WH, etc.-----不清楚可以print一下类型''''''
官方示例:
from torch.utils.tensorboard import SummaryWriter
import numpy as np
img_batch = np.zeros((16, 3, 100, 100))
for i in range(16):
img_batch[i, 0] = np.arange(0, 10000).reshape(100, 100) / 10000 / 16 * i
img_batch[i, 1] = (1 - np.arange(0, 10000).reshape(100, 100) / 10000) / 16 * i
writer = SummaryWriter()
writer.add_images('my_image_batch', img_batch, 0)
writer.close()
2.利用Opencv读取图片,获得numpy型图片数据
①前情:
from PIL import Image
img_path = 'dataset/train/ants/0013035.jpg'
img = Image.open(image_path)
print(type(img))
利用上述代码可知,平时读取到的数据是<class 'PIL.JpegImagePlugin.JpegImageFile'>类型的,不符合函数中的图像类型
②如何将图片格式转换为numpy型:
import numpy as np
img_array = np.array(img)
print(type(img_array))
③具体代码:
from torch.utils.tensorboard import SummaryWriter
import numpy as np
from PIL import Image
writer=SummaryWriter("logs")
image_path="dataset/train/ants/0013035.jpg"
img_PIL=Image.open(image_path)
img_array=np.array(img_PIL)
writer.add_image("test",img_array,1,dataformats='HWC')
#y=x
for i in range(0,100):
# print(i)
writer.add_scalar("y=2x", 2*i, i)
writer.close()
④作用:
总体来说学习了如何打开图片,通过这种方式,可以直接的观察给model提供了哪些数据,以及对model测试时可以观察某个阶段的输出结果,或者不同阶段的结果的显示。
⑤可以修改参数global_step来显示多张图片
修改步数为2时:
writer=SummaryWriter("logs")
image_path="dataset/train/bees/16838648_415acd9e3f.jpg"
img_PIL=Image.open(image_path)
img_array=np.array(img_PIL)
writer.add_image("test",img_array,2,dataformats='HWC')
for i in range(0,100):
# print(i)
writer.add_scalar("y=2x", 2*i, i)
writer.close()
结果显示: