# Copyright (c) OpenMMLab. All rights reserved. from ..builder import BACKBONES from .resnet3d_slowfast import ResNet3dPathway try: from mmdet.models.builder import BACKBONES as MMDET_BACKBONES mmdet_imported = True except (ImportError, ModuleNotFoundError): mmdet_imported = False @BACKBONES.register_module() class ResNet3dSlowOnly(ResNet3dPathway): """SlowOnly backbone based on ResNet3dPathway. Args: *args (arguments): Arguments same as :class:`ResNet3dPathway`. conv1_kernel (Sequence[int]): Kernel size of the first conv layer. Default: (1, 7, 7). conv1_stride_t (int): Temporal stride of the first conv layer. Default: 1. pool1_stride_t (int): Temporal stride of the first pooling layer. Default: 1. inflate (Sequence[int]): Inflate Dims of each block. Default: (0, 0, 1, 1). **kwargs (keyword arguments): Keywords arguments for :class:`ResNet3dPathway`. """ def __init__(self, *args, lateral=False, conv1_kernel=(1, 7, 7), conv1_stride_t=1, pool1_stride_t=1, inflate=(0, 0, 1, 1), with_pool2=False, **kwargs): super().__init__( *args, lateral=lateral, conv1_kernel=conv1_kernel, conv1_stride_t=conv1_stride_t, pool1_stride_t=pool1_stride_t, inflate=inflate, with_pool2=with_pool2, **kwargs) assert not self.lateral if mmdet_imported: MMDET_BACKBONES.register_module()(ResNet3dSlowOnly)