docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
conv_node.h File Reference

Convolution operation node compatible with ONNX Conv operator. More...

Go to the source code of this file.

Classes

class  sdfg::math::tensor::ConvNode
 Convolution operation following ONNX Conv operator specification. More...
struct  sdfg::math::tensor::ConvNode::ConvExpandPrerequisits
class  sdfg::math::tensor::ConvNodeSerializer
 Serializer for ConvNode. More...

Namespaces

namespace  sdfg
namespace  sdfg::math
namespace  sdfg::math::tensor

Functions

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Conv ("ml::Conv")

Detailed Description

Convolution operation node compatible with ONNX Conv operator.

This file defines the ConvNode class which implements a tensor convolution operation following the ONNX Conv operator specification. The node is expanded using the im2col transformation into a GEMM operation.

ONNX Conv Operator Compatibility

The ConvNode implements the ONNX Conv operator with the following parameters:

  • Input tensor X: [N, C_in, D1, D2, ..., Dn] for n-dimensional convolution
  • Weight tensor W: [C_out, C_in/group, k1, k2, ..., kn]
  • Optional bias tensor B: [C_out]
  • Output tensor Y: [N, C_out, D1_out, D2_out, ..., Dn_out]

Supported attributes:

  • kernel_shape: Shape of the convolution kernel
  • strides: Stride along each spatial axis
  • pads: Padding for the beginning and ending along each spatial axis
  • dilations: Dilation along each spatial axis
  • group: Number of groups for grouped convolutions