Pytorch tensorboard
使用SummaryWriter模块实现数据可视化
所用方法包括如下
- 实例化方法——SummaryWriter('目录')
- Image对象——Image.open('路径')
- nparray转换——np.array('Image对象')
- 绘制图片——writer.add_image('标签', numpy.array对象, step, dataformats)
- 坐标轴绘制——writer.add_scalar('标签', y轴, x轴)
from torch.utils.tensorboard import SummaryWriter
from PIL import Image
import numpy as np
def test_tensorboard():
writer = SummaryWriter('../logs')
# 1)设置图片路径
ants_img_path1 = '../datasets/data/train/ants_image/28847243_e79fe052cd.jpg'
ants_img_path2 = '../datasets/data/train/ants_image/49375974_e28ba6f17e.jpg'
bees_img_path1 = '../datasets/data/train/bees_image/29494643_e3410f0d37.jpg'
bees_img_path2 = '../datasets/data/train/bees_image/129236073_0985e91c7d.jpg'
# 2)用Image打开图片
ants_img_PIL1 = Image.open(ants_img_path1)
ants_img_PIL2 = Image.open(ants_img_path2)
bees_img_PIL1 = Image.open(bees_img_path1)
bees_img_PIL2 = Image.open(bees_img_path2)
# 3)转化为numpy型
ants_img_array1 = np.array(ants_img_PIL1)
ants_img_array2 = np.array(ants_img_PIL2)
bees_img_array1 = np.array(bees_img_PIL1)
bees_img_array2 = np.array(bees_img_PIL2)
# 4)绘制图片
writer.add_image('ants', ants_img_array1, 1, dataformats='HWC')
writer.add_image('ants', ants_img_array2, 2, dataformats='HWC')
writer.add_image('bees', bees_img_array1, 1, dataformats='HWC')
writer.add_image('bees', bees_img_array2, 2, dataformats='HWC')
# 绘制坐标图
for i in range(100):
writer.add_scalar('y=x^3', pow(i,3), i)
writer.close()
if __name__ == '__main__':
test_tensorboard()