code: def __init__(
      self, num_blocks, in_channels, out_channels, stride, sk_ratio=0
  ):
      super().__init__()
      self.blocks = nn.ModuleList(
          [
              BottleneckBlock(
                  in_channels, out_channels, stride, sk_ratio, True
              )
          ]
      )
      self.channels_out = out_channels * BottleneckBlock.expansion
      for _ in range(num_blocks - 1):
          self.blocks.append(
              BottleneckBlock(
                  self.channels_out, out_channels, 1, sk_ratio
              )
          )
  
imports: import logging
  from enum import Enum
  import torch
  import torch.nn
  import torch.nn.functional
  from vissl.config import AttrDict
  from vissl.models.trunks import register_model_trunk
label_desc: Use image node_id 1 to create a new Blocks object from inherited base classes: nn with example: obj = Blocks(num_blocks, in_channels, out_channels, stride, sk_ratio)