ONNX: export failure: expected scalar type Long but found Float
时间: 2023-12-05 11:38:05 浏览: 334
ONNX是一种用于表示机器学习模型的开放式格式。在导出模型时,有时会出现错误,例如“export failure: expected scalar type Long but found Float”。这个错误提示是关于类型的问题,通常是因为在将列表转换为张量时,需要将torch.long类型转换为torch.float类型。解决方案是将列表中的数据类型转换为float类型,或者在转换为张量时指定数据类型为float类型。
相关问题
RuntimeError: expecteRuntimeError: expected scalar type Long but found Doubled scalar type Long but found Double
这个错误通常是因为你的代码中使用了不匹配的数据类型。具体来说,它表明你在期望使用 Long 数据类型的地方却传入了 Double 数据类型的张量。
要解决这个错误,你需要检查你的代码并确保使用正确的数据类型。如果你使用 PyTorch,你可以使用 `.long()` 方法将张量转换为 Long 数据类型。示例代码如下:
```
# 将 x 转换为 Long 数据类型
x = x.long()
```
如果你使用的是其他框架或工具,你需要查阅相关文档以了解如何进行数据类型转换。
ONNX: export failure 0.0s: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!
ONNX是一种开放式的神经网络交换格式,可以将不同深度学习框架中的模型导出为统一的ONNX格式,使得这些模型可以被其他框架加载和使用。而针对你提供的错误信息,出现这个错误一般是因为在导出ONNX模型时,模型中的tensor存在于不同的设备上,即cuda:0和cpu,导致导出失败。你可以通过将所有tensor放到同一个设备上来解决这个问题,具体方法可以参考框架提供的文档或者API。
阅读全文
相关推荐














