Skip to content

是否尝试过在 onnx 用 MatMul 替换 CumSum 之后再转换? #1

@yuhuan417

Description

@yuhuan417

我做了一些尝试,感觉应该发出来讨论一下:https://github.com/yuhuan417/immich_to_rknn2/blob/unificli/replace_cumsum.py

目前只尝试了 nllb-clip-base-siglip__v1 和 XLM-Roberta-Large-ViT-H-14__frozen_laion5b_s13b_b90k
nllb-clip-base-siglip__v1 似乎可以无损失的进行转换

XLM-Roberta-Large-ViT-H-14__frozen_laion5b_s13b_b90k 还有一些问题,虽然 AI 分析说两者在模型中并没有本质的不同,但两个 Warning 实际上都是致命的:
WARNING: Shape inference dropped nodes (1345 -> 0). Discarding inferred model.
Warning: Could not determine type for /text/transformer/embeddings/Cast_output_0. Defaulting to FLOAT handling.

$ python3 process_all_models.py
Running conversion: nllb-clip-base-siglip__v1/textual/model.onnx -> test_cumsum/textual/model.onnx

Processing nllb-clip-base-siglip__v1/textual/model.onnx...
DEBUG: Loaded model. Nodes: 612
DEBUG: Shape inference successful. Nodes: 612
DEBUG: Total nodes in graph: 612
DEBUG: Found CumSum node: /text/transformer/embed_positions/CumSum
Info: Resolved axis 1 from input /text/transformer/embed_positions/Constant_2_output_0
Replacing CumSum: /text/transformer/embed_positions/CumSum, Input: /text/transformer/embed_positions/Cast_1_output_0, Shape: [1, 77], Axis: 1, Dim: 77, Type: 6
Info: Strategy - Axis 1 -> Move to last. Matrix Shape (77, 77). Reverse=0, Exclusive=0
Replaced 1 CumSum nodes.
Saved to test_cumsum/textual/model.onnx
Success: nllb-clip-base-siglip__v1/textual/model.onnx
Running conversion: nllb-clip-base-siglip__v1/visual/model.onnx -> test_cumsum/visual/model.onnx

Processing nllb-clip-base-siglip__v1/visual/model.onnx...
DEBUG: Loaded model. Nodes: 693
DEBUG: Shape inference successful. Nodes: 693
DEBUG: Total nodes in graph: 693
No CumSum nodes found or replaced.
Success: nllb-clip-base-siglip__v1/visual/model.onnx
Running conversion: XLM-Roberta-Large-ViT-H-14__frozen_laion5b_s13b_b90k/textual/model.onnx -> test_cumsum_xlm/textual/model.onnx

Processing XLM-Roberta-Large-ViT-H-14__frozen_laion5b_s13b_b90k/textual/model.onnx...
DEBUG: Loaded model. Nodes: 1345
WARNING: Shape inference dropped nodes (1345 -> 0). Discarding inferred model.
DEBUG: Total nodes in graph: 1345
DEBUG: Found CumSum node: /text/transformer/embeddings/CumSum
Info: Resolved axis 1 from input /text/transformer/embeddings/Constant_output_0
DEBUG: Tracing shape through /text/transformer/embeddings/Cast (Cast)
DEBUG: Tracing shape through /text/Not (Not)
DEBUG: Tracing shape through /text/Equal (Equal)
DEBUG: Tracing shape through /text/Cast (Cast)
Warning: Could not determine type for /text/transformer/embeddings/Cast_output_0. Defaulting to FLOAT handling.
Replacing CumSum: /text/transformer/embeddings/CumSum, Input: /text/transformer/embeddings/Cast_output_0, Shape: [1, 77], Axis: 1, Dim: 77, Type: 1
Info: Strategy - Axis 1 -> Move to last. Matrix Shape (77, 77). Reverse=0, Exclusive=0
Replaced 1 CumSum nodes.
Saved to test_cumsum_xlm/textual/model.onnx
Success: XLM-Roberta-Large-ViT-H-14__frozen_laion5b_s13b_b90k/textual/model.onnx
Running conversion: XLM-Roberta-Large-ViT-H-14__frozen_laion5b_s13b_b90k/visual/model.onnx -> test_cumsum_xlm/visual/model.onnx

Processing XLM-Roberta-Large-ViT-H-14__frozen_laion5b_s13b_b90k/visual/model.onnx...
DEBUG: Loaded model. Nodes: 2751
WARNING: Shape inference dropped nodes (2751 -> 0). Discarding inferred model.
DEBUG: Total nodes in graph: 2751
No CumSum nodes found or replaced.
Success: XLM-Roberta-Large-ViT-H-14__frozen_laion5b_s13b_b90k/visual/model.onnx

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