如何在 transforms.Compose 的 pytorch 中将 PIL 图像归一化到 -1 和 1 之间?
How to normalize PIL image between -1 and 1 in pytorch for transforms.Compose?
所以我一直在尝试找到一种方法来将一些 PIL 图像像素值标准化在 -1 和 1 之间。我搜索了文档但没有找到解决方案。文档中只有规范化是 transforms.Normalize
,它使用均值和标准差进行规范化。所以我坚持如何去做。这是我的代码:
train_transform = transforms.Compose([
transforms.RandomHorizontalFlip(p=0.5),
transforms.Resize(40),
transforms.RandomCrop(32),
# Normalize(-1, 1) # Something like that
])
如何归一化两个数字之间的张量?例如:
[[1,2,3]
[3,2,1]]
在 -1 和 1 之间
[[-1, 0, 1],
[1, 0, -1]]
尝试:
transform = transforms.Compose([
transforms.RandomHorizontalFlip(p=0.5)
transforms.Resize(40),
transforms.RandomCrop(32),
transforms.ToTensor(),
transforms.Normalize(mean=(0.5, 0.5, 0.5), std=(0.5, 0.5, 0.5))])
ToTensor 会将图像像素从 [0,255] 缩放到 [0,1] 值
Normalize 将首先减去 mean 因此 [0,1] 值将转换为范围 [-0.5,0.5],然后除以 std 和 [-0.5,0.5] 将达到 [-1,1] 范围
所以我一直在尝试找到一种方法来将一些 PIL 图像像素值标准化在 -1 和 1 之间。我搜索了文档但没有找到解决方案。文档中只有规范化是 transforms.Normalize
,它使用均值和标准差进行规范化。所以我坚持如何去做。这是我的代码:
train_transform = transforms.Compose([
transforms.RandomHorizontalFlip(p=0.5),
transforms.Resize(40),
transforms.RandomCrop(32),
# Normalize(-1, 1) # Something like that
])
如何归一化两个数字之间的张量?例如:
[[1,2,3]
[3,2,1]]
在 -1 和 1 之间
[[-1, 0, 1],
[1, 0, -1]]
尝试:
transform = transforms.Compose([
transforms.RandomHorizontalFlip(p=0.5)
transforms.Resize(40),
transforms.RandomCrop(32),
transforms.ToTensor(),
transforms.Normalize(mean=(0.5, 0.5, 0.5), std=(0.5, 0.5, 0.5))])
ToTensor 会将图像像素从 [0,255] 缩放到 [0,1] 值
Normalize 将首先减去 mean 因此 [0,1] 值将转换为范围 [-0.5,0.5],然后除以 std 和 [-0.5,0.5] 将达到 [-1,1] 范围