You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Albumentations中ToTensorV2()未实现0-1归一化的问题咨询

问题解答
  • 核心原因:Albumentations的ToTensorV2()和PyTorch原生ToTensor()的行为存在差异。前者仅负责将图像的数据类型从uint8转换为float32,不会自动执行除以255的0-1归一化操作;而后者会同时完成类型转换与归一化。

  • 你的操作没有错误,只是对ToTensorV2()的功能理解偏差。用cv2.imread()读取的图像默认是uint8格式(像素值范围0-255),经过ToTensorV2()转换后,数据类型变为float32,但像素值范围仍保持0-255。

  • 解决方法:

    1. 在变换链中添加归一化步骤:使用A.Normalize()实现0-1缩放,示例代码如下:
      transform = A.Compose([
          A.HorizontalFlip(p=1),
          A.Normalize(mean=[0.0, 0.0, 0.0], std=[255.0, 255.0, 255.0]),
          ToTensorV2()
      ])
      
      如果后续需要配合PyTorch预训练模型,可将mean和std替换为对应数据集的统计值(如ImageNet的mean=[0.485, 0.456, 0.406]、std=[0.229, 0.224, 0.225]),实现标准化。
    2. 转换后手动归一化:获取变换后的张量后,直接执行tensor = tensor / 255.0。

内容的提问来源于stack exchange,提问作者Min

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 15:43:11