ERROR:Assertion failed: _importer_ctx.tensors().at(output.name()).is_tensor()

pytorch-

在转了onnx后,在tensorrt测试得到上述上错误。

模型forward 输出preds_size部分对比:

正确:

       preds = preds.transpose(1, 0).contiguous().view(-1).float()

       preds_size = preds.size(0).float()

 

错误:

        preds = preds.transpose(1, 0).contiguous().view(-1).float()

        preds_size = torch.LongTensor([preds.size(0)])[0]

通过netron分别把正确的模型和错误的模型结构可视化做了一个对比。

发现根本原因还是错误节点是否在图中,很明显onnx转tensorrt中是需要模型中的每个节点彼此相关联,不能是单独的常量类型的:

正确图:

ERROR:Assertion failed: _importer_ctx.tensors().at(output.name()).is_tensor()_第1张图片

错误图:

ERROR:Assertion failed: _importer_ctx.tensors().at(output.name()).is_tensor()_第2张图片

你可能感兴趣的:(杂货)