def get_linear_bn_pattern(
    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 -> linear -> batch_norm -> 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
    """
    example_inputs = (
        _torch.randn(2, 1),  # input
        _torch.randn(3, 1),  # linear weight
        _torch.randn(3),  # linear bias
        _torch.randn(3),  # bn_weight
        _torch.randn(3),  # bn_bias
        _torch.randn(3),  # bn_run_mean
        _torch.randn(3),  # bn_run_var
    )
    return _get_weighted_mod_bn_pattern(_F.linear, example_inputs, act_fn, act_in_place)

    Returns an aten graph corresponding to a sequence of these ops:
    input -> linear -> batch_norm -> 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