def METHOD_NAME(  # type: ignore
    self,
    X,
    W,
    B=None,
    auto_pad=None,
    dilations=None,
    group=None,
    kernel_shape=None,
    pads=None,
    strides=None,
):
    if len(X.shape) < 3:
        raise ValueError(
            f"X must have at least 3 dimensions but its shape is {X.shape}."
        )
    return (
        # _conv_implementation(
        _conv_implementation_im2col(
            X, W, B, auto_pad, dilations, group, kernel_shape, pads, strides
        ).astype(X.dtype),
    )