关于ToTensorV2()关于albumentations

问题描述 投票:0回答:1

我正在使用 ToTensorV2() 来转换数据,但我问 ChatGPT 这个函数是否可以将数据缩放到 0 - 1,它回答说可以。但是,当我使用 cv2.imread() 读取图像并将图像传递给转换时,数据不会缩放。我是否在某个地方出现错误,或者我需要手动缩放到 0 - 1?

transform = A.Compose([A.HorizontalFlip(p=1), ToTensorV2()])

artificial-intelligence transform albumentations
1个回答
0
投票

ToTensorV2
不执行重新缩放。

文档

文档字符串:

It converts images/masks to PyTorch Tensors, inheriting from BasicTransform. Supports images in numpy HWC format and converts them to PyTorch CHW format. If the image is in HW format, it will be converted to PyTorch HW.

最初,有

ToTensor,
自动重新调整输入。但这很令人困惑,并且
ToTensor
已被弃用。

通常,人们在 ToTensor

 之前使用 
Normalize

比如说,对于 ImageNet 标准化:

import albumentations as A

transform = A.Compose([A.HorizontalFlip(p=1), 
A.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225), max_pixel_value=255.0),
ToTensorV2()])

或者如果您希望图像标准化为 [0, 1]

=>

transform = A.Compose([A.HorizontalFlip(p=1),
A.Normalize(mean=(0.5, 0.5, 0.5), std=(1, 1, 1), max_pixel_value=255.0),
ToTensorV2()])

附注

p=1
中的
A.HorizontalFlip
看起来有点奇怪,因为它会水平翻转所有输入图像。

© www.soinside.com 2019 - 2024. All rights reserved.