在python中,我正在加载预定义的模型(超级渐变,yolox-s):
onnx_session = onnxrt.InferenceSession("yolox_s_640_640.onnx")
然后我加载一些数据并运行它:
dataset = MyCostumeDataset(args.path, 'val')
val_dataloader = DataLoader(dataset, batch_size=args.bsize)
for inputs in val_dataloader:
    onnx_inputs = {onnx_session.get_inputs()[0].name: inputs}
    # inputs.shape: torch.Size([4, 3, 640, 640]), i.e., this is a Tensor
    
    raw_predictions = onnx_session.run(None, onnx_inputs)
    # this returns a list of numpy arrays:
    # type(raw_predictions[0])
    #  <class 'numpy.ndarray'>
    # raw_predictions[0].shape
    # (4, 8400, 85)
到目前为止,它仍在正常工作,但我希望它默认返回Tensor(torch.Tensor)列表,而不是numpy数组。我对ONNX和PyTorch都是新手,我觉得这是我在这里缺少的基本内容。
如何让onnx_session返回torch.Tensor列表,而不是numpy数组?这将使转换中的一些开销相同。谢谢