def _omnivore_swinl(
    pretrained: bool = True,
    progress: bool = True,
    load_heads: bool = True,
    checkpoint_name: str = "",
    heads: Optional[nn.ModuleDict] = None,
    **kwargs: Any,
) -> nn.Module:
    """
    Omnivore model trunk: Swin L patch (2,4,4) window (8,7,7)
    Args:
        pretrained: if True loads weights from model trained on
            Imagenet 1k, Kinetics 400, SUN RGBD.
        progress: print progress of loading checkpoint
        load_heads: if True, loads the 3 heads, one each for
            image/video/rgbd prediction. If False loads only the
            trunk.
    Returns:
        model: nn.Module of the omnivore model
    """

    assert checkpoint_name != "", "checkpoint_name must be provided"

    # Only specify the non default values
    trunk = VideoSwinTransformer(
        pretrained2d=False,
        patch_size=(2, 4, 4),
        embed_dim=192,
        depths=(2, 2, 18, 2),
        num_heads=(6, 12, 24, 48),
        window_size=(8, 7, 7),
        drop_path_rate=0.3,
        patch_norm=True,
        depth_mode="summed_rgb_d_tokens",
        **kwargs,
    )

    return _omnivore_base(
        trunk=trunk,
        heads=heads,
        head_dim_in=1536,  # 192*8
        progress=progress,
        pretrained=pretrained,
        load_heads=load_heads,
        checkpoint_name=checkpoint_name,
    )
Omnivore model trunk: Swin L patch (2,4,4) window (8,7,7)
Args:
pretrained: if True loads weights from model trained on
Imagenet 1k, Kinetics 400, SUN RGBD.
progress: print progress of loading checkpoint
load_heads: if True, loads the 3 heads, one each for
image/video/rgbd prediction. If False loads only the
trunk.
Returns:
model: nn.Module of the omnivore model
towhee/models/omnivore/omnivore.py