shape_check.h#
Shared precondition helpers reused by every per-operator ComputeShape* shape-inference function.
-
namespace onnx_light
Alias that makes onnx-light headers compatible with code that references
ONNX_LIGHT_NAMESPACE(the macro used in the standard onnx package).Set to
ONNX_LIGHT_NAMESPACEso both names resolve to the same namespace.Symbol-visibility attribute for the public onnx-light C++ API.
Defined as empty because onnx-light does not require explicit
__declspec(dllexport)or__attribute__((visibility("default")))annotations — visibility is controlled at the shared-library level. The macro is provided so that vendored ONNX headers that decorate their declarations withONNX_APIcompile without modification.Namespace alias so that ONNX C++ code (and consumers such as onnxruntime) that refers to the literal
onnxnamespace — rather than theONNX_NAMESPACEmacro — resolves to the onnx-light namespace. The standard onnx package lives innamespace onnx; onnx-light usesonnx_light(via ONNX_LIGHT_NAMESPACE), so this alias keeps onnx-light a true drop-in. It is only introduced when the onnx-light namespace differs fromonnx.-
namespace onnx_optim
-
namespace shapes
Functions
-
void CheckNodeOpAndOutput(const NodeProto &node, const char *expected_op_type, const char *caller)#
Validates the common preamble of every
ComputeShape*function:node.op_type()must equalexpected_op_type;nodemust declare at least one output.
The
callerargument is embedded verbatim in the exception messages so that callers can surface their own name (typically theComputeShape*function performing the check).- Throws:
std::invalid_argument – when
node.op_type()differs fromexpected_op_typeor whennode.output_size() < 1.
-
void CheckNodeOpAndOutput(const NodeProto &node, const char *expected_op_type, const char *caller)#
-
namespace shapes
-
namespace onnx_optim