class_docstr: Bottleneck building block for ResNet50, ResNet101 and ResNet152.
      
class_docstr_tok: ["Bottleneck","building","block","for","ResNet50",",","ResNet101","and","ResNet152","."]
docstr: Hybrid forward of a ResNet bottleneck block
docstr_tok: ["Hybrid","forward","of","a","ResNet","bottleneck","block"]
code: def hybrid_forward(self, F, x):
      """Hybrid forward of a ResNet bottleneck block"""
      identity = x
      out = self.conv1(x)
      out = self.bn1(out)
      out = self.relu(out)
      out = self.conv2(out)
      out = self.bn2(out)
      out = self.relu(out)
      out = self.conv3(out)
      out = self.bn3(out)
      if self.downsample is not None:
          identity = self.downsample(x)
      out = F.Activation(out + identity, act_type="relu")
  
      if self.nonlocal_block is not None:
          out = self.nonlocal_block(out)
      return out
  
file_path: gluon-cv/gluoncv/model_zoo/action_recognition/i3d_slow.py
imports: from mxnet import init
  from mxnet.context import cpu
  from mxnet.gluon.block import HybridBlock
  from mxnet.gluon import nn
  from mxnet.gluon.nn import BatchNorm
  from .non_local import build_nonlocal_block
label_desc: Use image node_id 2 for calling the Bottleneck obj's underlying member method code with example usage: obj.hybrid_forward(F, x) and returns: out