def get_conv_pattern(
    conv_dim: int, act_fn: _Optional[_Callable] = None, act_in_place: bool = False
) -> _torch.nn.Module:
    """
    Returns an aten graph corresponding to a sequence of these ops:
    input -> conv -> activation -> output

    No activation is used if ``act_fn`` is ``None``.
    ``act_fn`` is an activation function from _supported_activations or
    _supported_activations_no_inplace
    """
    assert (
        conv_dim in _conv_fn_map
    ), f"Dimension {conv_dim} is not supported for Convolution layers."

    example_inputs = (
        _torch.randn(1, 1, *[3] * conv_dim),  # input
        _torch.randn(1, 1, *[1] * conv_dim),  # conv weight
        _torch.randn(1),  # conv bias
    )
    return _get_weighted_mod_pattern(
        _conv_fn_map[conv_dim], example_inputs, act_fn, act_in_place
    )

    Returns an aten graph corresponding to a sequence of these ops:
    input -> conv -> activation -> output

    No activation is used if ``act_fn`` is ``None``.
    ``act_fn`` is an activation function from _supported_activations or
    _supported_activations_no_inplace
    
coremltools/optimize/torch/quantization/_coreml_quantizer_utils.py