code: def bottleneck_block(cnn, depth, depth_bottleneck, stride, pre_activation):
      
      if pre_activation:
          bottleneck_block_v2(cnn, depth, depth_bottleneck, stride)
      else:
          bottleneck_block_v1(cnn, depth, depth_bottleneck, stride)
docs: Bottleneck block with identity short-cut.
  
    Args:
      cnn: the network to append bottleneck blocks.
      depth: the number of output filters for this bottleneck block.
      depth_bottleneck: the number of bottleneck filters for this block.
      stride: Stride used in the first layer of the bottleneck block.
      pre_activation: use pre_activation structure used in v2 or not.