我试图在我的MacBook Air的MPS上运行我的模型,但出现了这个警告和错误:
用户警告:MPS后端当前不支持运算符“aten::sgn.out”,将回退以在CPU上运行。这可能会影响性能。(在/Users/runner/work/_temp/anaconda/conda-bld/pytorch_1670525498485/work/aten/src/ATen/mps/MPSFallback.mm:11内部触发。)变量._execution_engine.run_backward(#调用C引擎以运行向后传递
用户警告:在ConvolutionBackward 0中检测到错误。导致错误的前向调用的追溯
(在/Users/runner/work/_temp/anaconda/conda-bld/pytorch_1670525498485/work/torch/csrc/autograd/python_anomaly_mode.cpp:119内部触发。)变量._execution_engine.run_backward(#调用C引擎以运行反向传递
File“/Users/user/miniconda3/envs/torch/lib/python3.10/site-packages/torch/autograd/init.py”,line 197,in backward Variable._execution_engine.run_backward(# Calls into the C++ engine to run the backward pass RuntimeError:函数“ConvolutionBackward 0”在其第0个输出中返回了nan个值。我的系统规格是:MacOS:Ventura 13.2芯片Apple M1 Python 3.10.9 PyTorch 1.13.1
1条答案
按热度按时间k10s72fa1#
在ConvolutionBackward0中检测到错误的第二个警告,该警告导致对前向调用进行追溯。
1.错误消息表明网络的反向传递可能存在问题,这可能是由多种因素引起的,例如:
1.权重初始化错误
1.不正确的网络体系结构或
1.训练数据不足。
1.用于培训的输入或标签的问题。
您可以尝试运行不同型号的计算机,以查看问题是否仍然存在。这将排除M1的问题。如果它在其他系统上工作,您可能需要将PyTorch更新到最新版本,因为它可能是您的PyTorch安装的一些问题。
此外,虽然PyTorch支持M1芯片,但可能存在一些与特定版本的PyTorch和Python的兼容性问题。PyTorch已经发布了专门针对M1芯片优化的版本,建议使用这些版本以获得最佳性能。此外,与PyTorch一起使用的一些包和库可能尚未针对M1芯片进行完全优化,这也可能导致兼容性问题。
我们可以认为这是一个兼容性问题,因为你的第一个问题是“aten::sgn.out”目前在MPS后端不受支持。