class_docstr: Bottleneck block: a sequence of spatiotemporal Convolution, Normalization,
  and Activations repeated in the following order:
  
  ::
  
  
                                  Conv3d (conv_a)
                                         ↓
                               Normalization (norm_a)
                                         ↓
                                 Activation (act_a)
                                         ↓
                                  Conv3d (conv_b)
                                         ↓
                               Normalization (norm_b)
                                         ↓
                                 Activation (act_b)
                                         ↓
                                  Conv3d (conv_c)
                                         ↓
                               Normalization (norm_c)
  
  The builder can be found in `create_bottleneck_block`.
code: def forward(self, x: torch.Tensor) -> torch.Tensor:
      # Explicitly forward every layer.
      # Branch2a, for example Tx1x1, BN, ReLU.
      x = self.conv_a(x)
      if self.norm_a is not None:
          x = self.norm_a(x)
      if self.act_a is not None:
          x = self.act_a(x)
  
      # Branch2b, for example 1xHxW, BN, ReLU.
      x = self.conv_b(x)
      if self.norm_b is not None:
          x = self.norm_b(x)
      if self.act_b is not None:
          x = self.act_b(x)
  
      # Branch2c, for example 1x1x1, BN.
      x = self.conv_c(x)
      if self.norm_c is not None:
          x = self.norm_c(x)
      return x
  
imports: from typing import Callable, List, Tuple, Union
  import numpy
  import torch
  import torch.nn
  from pytorchvideo.layers.utils import set_attributes
  from pytorchvideo.models.head import create_res_basic_head, create_res_roi_pooling_head
  from pytorchvideo.models.net import DetectionBBoxNetwork, Net
  from pytorchvideo.models.stem import create_acoustic_res_basic_stem, create_res_basic_stem
label_desc: Use image node_id 2 for calling the BottleneckBlock obj's underlying member method code with example usage: obj.forward(x) and returns: x