PyTorch中的ToTensor

PyTorch中的ToTensor

💡 原文英文,约800词,阅读约需3分钟。
📝

内容提要

本文介绍了如何将PIL图像转换为PyTorch张量并进行缩放。`ToTensor()`已被弃用,建议使用`Compose(transforms=[ToImage(), ToDtype(torch.float32, scale=True)])`。数据集OxfordIIITPet包含3680个数据点。

🎯

关键要点

  • 本文介绍了如何将PIL图像转换为PyTorch张量并进行缩放。
  • `ToTensor()`已被弃用,建议使用`Compose(transforms=[ToImage(), ToDtype(torch.float32, scale=True)])`。
  • 数据集OxfordIIITPet包含3680个数据点。
  • PIL图像、图像或ndarray可以转换为张量,并缩放PIL图像或ndarray的值。
  • 只有uint8类型的ndarray可以缩放到[0.0, 1.0]。
  • 张量可以是0维或多维,ndarray必须是2维或3维。
  • 使用`ToImage()`和`ToTensor()`进行数据转换。
  • 示例代码展示了如何加载OxfordIIITPet数据集并应用转换。
  • 转换后的张量可以用于图像处理和深度学习任务。

延伸问答

如何将PIL图像转换为PyTorch张量?

可以使用`Compose(transforms=[ToImage(), ToDtype(torch.float32, scale=True)])`来转换PIL图像为PyTorch张量。

ToTensor()方法有什么变化?

`ToTensor()`方法已被弃用,建议使用`Compose`替代。

OxfordIIITPet数据集包含多少个数据点?

OxfordIIITPet数据集包含3680个数据点。

哪些类型的ndarray可以缩放到[0.0, 1.0]?

只有uint8类型的ndarray可以缩放到[0.0, 1.0]。

转换后的张量可以用于哪些任务?

转换后的张量可以用于图像处理和深度学习任务。

如何加载OxfordIIITPet数据集并应用转换?

可以使用`OxfordIIITPet(root='data', transform=ToImage())`来加载数据集并应用转换。

➡️

继续阅读