在将pytorch训练好的模型转成onnx模型时遇到最多的报错之一就是Expected object of device type cuda but got device type cpu这种数据计算位置的错误,这个错误的原因是在转成onnx模型时会将自动将原来代码中所有的python数值都转为tensor(不管是常量还是变量),在转为tensor之后肯定要牵扯到数据计算位置的问题,比如之前源代码是在GPU能正常运行但是有些数据是python数值,然后在转换onnx模型时这些python数值都转为了tensor然后默认的计算位置是CPU,这样就会报错,解决方法是在转为onnx模型时提前把python数值改为tensor并修改计算位置。