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

运行PyTorch TorchVision教程出现__array__参数数量错误如何解决

这个报错的核心成因是Pillow(PIL)库与当前使用的torchvision版本不兼容:

高版本Pillow(≥9.1.0)调整了Image对象__array__方法的参数定义,不再支持np.array()调用时额外传入dtype参数,而你当前使用的旧版torchvision的to_tensor接口刚好是按旧逻辑编写,会传入dtype参数执行np.array(pic, dtype, copy=True),因此触发了参数数量不匹配的错误。

解决方案

  • 方案一:降级Pillow到兼容版本
    直接执行命令安装匹配版本即可,无需修改现有代码:
    pip install pillow==8.4.0
    
    该版本可适配绝大多数旧版torchvision。
  • 方案二:升级torchvision到适配版本
    将PyTorch和torchvision同步升级到最新稳定版,新版torchvision已经修复了该调用逻辑问题,可正常适配高版本Pillow。
  • 方案三:临时兼容补丁
    如果暂时不方便调整依赖版本,可在数据集的__getitem__方法中,把读取到的PIL图像手动转成numpy数组后再传入transform,跳过torchvision对PIL对象的转换逻辑即可,不过该方案为临时补丁,不建议长期使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 20:45:03