Skip to content

Case sensitivity of operator names and attributes #1934

@fdwr

Description

@fdwr

The spec should be clear about case sensitivity when matching names of operators, attributes, and attribute string enums. That includes NodeProto::op_type, AttributeProto::name, and AttributeProto::s/strings.

Applicable documentation:

https://github.com/onnx/onnx/blob/master/docs/IR.md
https://github.com/onnx/onnx/blob/master/docs/Operators.md#RNN
https://github.com/onnx/onnx/blob/master/onnx/onnx.proto

Context:

We’ve been matching all of these in WinML kernels atop DirectML with exact case sensitivity (simpler/faster/less ambiguous), but we encountered a failing model exported from PyTorch where the RNN activation attribute “Tanh” was “tanh” instead :/. Granted, I see this as a bug in the exporter because the exporter should use the same case as the spec lists them, but the spec should make it clear in any case whether "tanh" should match too.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions