绘制图像:
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter("logs") # 存储对应的事件文件
# y=x
for i in range(100):
writer.add_scalar("y=x",i,i)
writer.close()
执行完了之后,会出现一个logs文件夹,里面有对应的文件
需要在终端执行:
tensorboard --logdir=logs
浏览器输入这个地址,即可访问。
可以指定端口,防止端口冲突
tensorboard --logdir=logs --port=6007
显示图片:
from torch.utils.tensorboard import SummaryWriter
import numpy as np
from PIL import Image
writer = SummaryWriter("logs") # 存储对应的事件文件
# 需要先把图像转成numpy.array类型
image_path = "dataset/ants_image/0013035.jpg"
img_PIL = Image.open(image_path)
img_array = np.array(img_PIL)
# 接收的图像只能是这几种类型 : torch.Tensor, numpy.array, or string/blobname
# 后面加参数是因为 需要指定shape格式 具体可以点进这个函数去看 写的有注释
writer.add_image("test",img_array,1,dataformats='HWC')
writer.close()
执行代码之后,还去哪个地址localhost:6006 查看图片
我们可以把图像地址换了,查看别的图像,但是注意,这样操作之后,有时候会导致,显示的图像有问题,或者不是我们期望的那一张。
解决办法有两个:
1、把logs文件夹里面的删除了,再进行别的图片的显示
2、显示别的图片的时候,新建个文件夹
3、终端重新执行一下tensorboard --logdir=logs
Transforms主要是对图像做一些变换
比较常用的是把图像转换成tensor类型
from PIL import Image
from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms
# 读入一个img
img_path = "dataset/ants_image/0013035.jpg"
img = Image.open(img_path)
# writer = SummaryWriter("logs")
# 将其转换为tensor类型
tensor_trans = transforms.ToTensor()
tensor_img = tensor_trans(img)
print(tensor_img)
# writer.add_image("Tensor_img",tensor_img)
# writer.close()
结果如图:
还有一些其他的常用方法:
Resize:https://blog.csdn.net/qq_40714949/article/details/115393592



