常见的transform(一)—— 自用小土堆笔记

目录

1.transforms的导入

2.transform中compose里面的__call__用法

3.ToTensor的使用

4.Normalize(归一化)的使用


1.transforms的导入

from torchvision import transforms

2.transform中compose里面的__call__用法


下划线表示内置函数

内置函数和函数区别的例子:

class Person:
    def __call__(self, name):  # 内置函数
        print("__call__" + "Hello" + name)

    def hello(self, name): 
        print("Hello" + name)


person1 = Person()
person1("Wym")  # 内置函数不需要用 . 调用内置函数
person1.hello("Wym")

输出结果

__call__HelloWym
HelloWym

结论:内置函数不需要用 . 调用内置函数,直接 对象()


tips:按住Ctrl + P 有提示需要什么参数

3.ToTensor的使用

(1)TensorBoard的配置

        创建logs文件夹

writer = SummaryWriter("logs")

(2)将图像打开

img = Image.open("image/9715481_b3cb4114ff.jpg")

(3)创建对象,并使用对象的功能,将图像转化成Tensor数据类型的

        (Tensor数据类型的可以放到TensorBoard中)

trans_ToTensor = transforms.ToTensor()
img_Tensor = trans_ToTensor(img)

(4)添加图像到writer中

writer.add_image("ToTenser", img_Tensor)  # 添加Tensor数据类型的图像到writer中
writer.close()  # 添加完图像必须跟一个

(5)终端调用并打开

--logdir=logs :将logs文件夹下的图像传到tensorboard中

--port=6007 :地址6007
 

 tensorboard --logdir=logs --port=6007

打开6007,其中tag:ToTensor

4.Normalize(归一化)的使用

 计算公式

output[channel] = (input[channel] - mean[channel]) / std[channel]
# Normalize
print(img_Tensor[0][0][0])  # 图像像素的第一个点
trans_norm = transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])  # 每个通道均值和标准差
img_norm = trans_norm(img_Tensor)  # normalize只能处理tensor数据类型
print(img_norm[0][0][0])
writer.add_image("img_normalize", img_norm)  # 处理之后的图像添加到logs中
writer.close()

归一化后的图像

完整代码

from PIL import Image
from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms

writer = SummaryWriter("logs")  # 创建logs文件夹
img = Image.open("image/9715481_b3cb4114ff.jpg")  # 打开相对路径下的图像

# ToTensor
trans_ToTensor = transforms.ToTensor()  # 创建对象
img_Tensor = trans_ToTensor(img)  # img转为Tensor数据类型
writer.add_image("ToTenser", img_Tensor)  # 添加Tensor数据类型的图像到writer中

# Normalize
print(img_Tensor[0][0][0])  # 图像像素的第一个点
trans_norm = transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])  # 每个通道均值和标准差
img_norm = trans_norm(img_Tensor)  # normalize只能处理tensor数据类型
print(img_norm[0][0][0])
writer.add_image("img_normalize", img_norm)  # 处理之后的图像添加到logs中
writer.close()

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值