M1芯片Mac使用PyTorch Dataloader指定mps设备加载图像异常
M1芯片Mac上PyTorch DCGAN图像加载损坏问题
这是PyTorch MPS后端的已知问题,根源在于CPU与MPS设备间的张量拷贝逻辑bug,在早期的nightly build版本中容易出现。
可行的临时处理方案:
- 调整数据加载逻辑:不要在Dataloader阶段就将数据移至
mps设备,先在CPU上完成图像预处理和加载,仅在模型执行前向传播时,通过data.to(device)将数据转移到torch.device("mps")。 - 升级到最新的PyTorch nightly build版本,后续迭代已经针对这类MPS数据传输问题进行了修复。
- 检查图像预处理代码,避免在CPU和MPS之间频繁切换张量的设备位置,这类操作也可能导致数据损坏。
内容的提问来源于stack exchange,提问作者Pablo Arjonilla
相关产品推荐
相关产品推荐

