深度学习各种错误汇总

1、RuntimeError: Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor) should be the same

如上错误是在 torch.onnx.export 时出现的

解决:x造成的,后边加上.cuda()就可以了

import torch

model = torch.load('best_055_0.707265_model.pt')
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)

batch_size = 1
input_shape  = (3,384,640) #输入的图像格式
export_onnx_file = "testResNet50.onnx"        # 目的ONNX文件名

model.eval() #测试模式
x = torch.randn(batch_size,*input_shape,requires_grad=True).cuda() #生成张量
torch.onnx.export(model,
                  (x,),  #元组,因此使用括号
                  export_onnx_file,
                  export_params=True,  # store the trained parameter weights inside the model file
                  opset_version=17,  # the ONNX version to export the model to
                  do_constant_folding=True, # 是否执行常量折叠优化
                  input_names=["input"],  # 输入名
                  output_names=["output"],  # 输出名
                  dynamic_axes={"input": {0: "batch_size"},  # 批处理变量
                                "output": {0: "batch_size"}})

 

posted @ 2024-10-24 18:18  夕西行  阅读(16)  评论(0编辑  收藏  举报