Transforms的使用(一)

from PIL import Image
from torchvision import transforms
#transforms实际上是一个python文件  里面有很多的类,因此可以理解为transforms是一个工具箱,可以将你的图片转换成你需要的结果
#通过 transforms.ToTensor 去解决两个问题:
#1.  transforms如何使用
#2.  为什么需要Tensor数据类型

#绝对路径D:\PyCharm Community Edition 2021.3.1\tensorboard\data\train\ants_image\0013035.jpg
#相对路径data/train/ants_image/0013035.jpg
#使用相对相对路径,因为绝对路径有\会当作转义符
img_path  = "data/train/ants_image/0013035.jpg"
img = Image.open(img_path)
tensor_trans = transforms.ToTensor()#创建Totensor的类
tensor_img = tensor_trans(img)
print(tensor_img)

运行结果如下:(Tensor类型的数据)

Transforms的使用(一)_第1张图片

然后用tensor的参数变量执行add_image

from PIL import Image
import cv2
from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms
#transforms实际上是一个python文件  里面有很多的类,因此可以理解为transforms是一个工具箱,可以将你的图片转换成你需要的结果
#通过 transforms.ToTensor 去解决两个问题:
#1.  transforms如何使用
#2.  为什么需要Tensor数据类型
神经网络训练的需要

#绝对路径D:\PyCharm Community Edition 2021.3.1\tensorboard\data\train\ants_image\0013035.jpg
#相对路径data/train/ants_image/0013035.jpg
#使用相对相对路径,因为绝对路径有\会当作转义符
img_path  = "data/train/ants_image/0013035.jpg"
img = Image.open(img_path)
writer = SummaryWriter("logs")


tensor_trans = transforms.ToTensor()#创建Totensor的类实例化
tensor_img = tensor_trans(img)
# tensor_img = tensor_trans.__call__(img)这样也是可以的
# print(tensor_img)
writer.add_image("第二次tensorboard",tensor_img)


# img_tensor (torch.Tensor, numpy.array, or string/blobname): Image data  添加图片,上次采取的是numpy.array的类型,这次采取的是tensor类型
writer.close()
# 如果用cv
cv_img = cv2.imread(img_path)
# print(type(cv_img))  结果为也是transform常用的一种类型



# class ToTensor(object):
#     """Convert a ``PIL Image`` or ``numpy.ndarray`` to tensor.需要的两种类型
#
#     Converts a PIL Image or numpy.ndarray (H x W x C) in the range
#     [0, 255] to a torch.FloatTensor of shape (C x H x W) in the range [0.0, 1.0].
#     """
#
#     def __call__(self, pic):
#         """
#         Args:
#             pic (PIL Image or numpy.ndarray): Image to be converted to tensor.
#
#         Returns:
#             Tensor: Converted image.

执行结束后,打开tensorboard:终端:tensorboard --logdirs=logs(我取名为logs)

结果如下:
Transforms的使用(一)_第2张图片

 

你可能感兴趣的:(啥也不会的pytorch,python,深度学习,pytorch)