Skip to content

使用 tensorrt 加载 onnx 报错 #48

Description

@sfyumi

对 tensorrt 以及 polygraphy 版本有特殊要求吗?

[05/16/2025-10:01:01] [TRT] [I] [MemUsageChange] Init CUDA: CPU +18, GPU +0, now: CPU 25, GPU 8830 (MiB)
[05/16/2025-10:01:04] [TRT] [I] [MemUsageChange] Init builder kernel library: CPU +1644, GPU +292, now: CPU 1816, GPU 9122 (MiB)
[libprotobuf WARNING google/protobuf/io/coded_stream.cc:604] Reading dangerously large protocol message.  If the message turns out to be larger than 2147483647 bytes, parsing will be halted for security reasons.  To increase the limit (or to disable these warnings), see CodedInputStream::SetTotalBytesLimit() in google/protobuf/io/coded_stream.h.
[libprotobuf WARNING google/protobuf/io/coded_stream.cc:81] The total number of bytes read was 752138074
['\x1b[38;5;9m'][E] ITensor::getDimensions: Error Code 4: Internal Error (ONNXTRT_createZeroTensor: IElementWiseLayer with PROD operation requires inputs with kFLOAT / kHALF / kBF16 / kINT8 / kFP8 / kINT4 / kINT32 / kINT64 type but received Bool type.)
['\x1b[38;5;9m'][E] ModelImporter.cpp:949: While parsing node number 86 [Trilu -> "/layers.0/self_attn/Trilu_output_0"]:
['\x1b[38;5;9m'][E] ModelImporter.cpp:950: --- Begin node ---
    input: "/layers.0/self_attn/ConstantOfShape_output_0"
    input: "/Constant_4_output_0"
    output: "/layers.0/self_attn/Trilu_output_0"
    name: "/layers.0/self_attn/Trilu"
    op_type: "Trilu"
    attribute {
      name: "upper"
      i: 0
      type: INT
    }
['\x1b[38;5;9m'][E] ModelImporter.cpp:951: --- End node ---
['\x1b[38;5;9m'][E] ModelImporter.cpp:954: ERROR: ModelImporter.cpp:195 In function parseNode:
    [6] Invalid Node - /layers.0/self_attn/Trilu
    ITensor::getDimensions: Error Code 4: Internal Error (ONNXTRT_createZeroTensor: IElementWiseLayer with PROD operation requires inputs with kFLOAT / kHALF / kBF16 / kINT8 / kFP8 / kINT4 / kINT32 / kINT64 type but received Bool type.)
['\x1b[38;5;9m'][E] In node 86 with name: /layers.0/self_attn/Trilu and operator: Trilu (parseNode): INVALID_NODE: Invalid Node - /layers.0/self_attn/Trilu
    ITensor::getDimensions: Error Code 4: Internal Error (ONNXTRT_createZeroTensor: IElementWiseLayer with PROD operation requires inputs with kFLOAT / kHALF / kBF16 / kINT8 / kFP8 / kINT4 / kINT32 / kINT64 type but received Bool type.)
['\x1b[38;5;9m'][!] Could not parse ONNX correctly
Traceback (most recent call last):
  File "/tts/ChatTTSPlus/trt_demo.py", line 5, in <module>
    convert_onnx_to_trt(onnx_model_path, trt_model_path)
  File "/tts/ChatTTSPlus/chattts_plus/commons/onnx2trt.py", line 135, in convert_onnx_to_trt
    builder.create_network(onnx_path)
  File "/tts/ChatTTSPlus/chattts_plus/commons/onnx2trt.py", line 78, in create_network
    self.network_infos = self.builder, self.network, _ = network_from_onnx_path(
  File "<string>", line 3, in network_from_onnx_path
  File "/usr/local/lib/python3.10/dist-packages/polygraphy/backend/base/loader.py", line 40, in __call__
    return self.call_impl(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/polygraphy/util/util.py", line 733, in wrapped
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/polygraphy/backend/trt/loader.py", line 264, in call_impl
    trt_util.check_onnx_parser_errors(parser, success)
  File "/usr/local/lib/python3.10/dist-packages/polygraphy/backend/trt/util.py", line 85, in check_onnx_parser_errors
    G_LOGGER.critical("Could not parse ONNX correctly")
  File "/usr/local/lib/python3.10/dist-packages/polygraphy/logger/logger.py", line 635, in critical
    raise ExceptionType(message) from None
polygraphy.exception.exception.PolygraphyException: Could not parse ONNX correctly

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions