code: def __init__(
      self, num_fmaps: int, hidden_dim: int, expansion: float = 1.0
  ) -> None:
      super().__init__()
      self.lateral_convs = nn.ModuleList()
      self.fpn_blocks = nn.ModuleList()
      for _ in range(num_fmaps - 1):
          self.lateral_convs.append(
              ConvNormAct(hidden_dim, hidden_dim, 1, 1, "silu")
          )
          self.fpn_blocks.append(
              CSPRepLayer(hidden_dim * 2, hidden_dim, 3, expansion)
          )
  
      self.downsample_convs = nn.ModuleList()
      self.pan_blocks = nn.ModuleList()
      for _ in range(num_fmaps - 1):
          self.downsample_convs.append(
              ConvNormAct(hidden_dim, hidden_dim, 3, 2, "silu")
          )
          self.pan_blocks.append(
              CSPRepLayer(hidden_dim * 2, hidden_dim, 3, expansion)
          )
  
imports: from __future__ import annotations
  from typing import Optional
  import torch
  import torch.nn.functional
  from torch import nn
  from torch.nn.utils.fusion import fuse_conv_bn_weights
  from kornia.contrib.models.common import ConvNormAct
  from kornia.core import Module, Tensor, concatenate, pad
label_desc: Use image node_id 1 to create a new CCFM object from inherited base classes: Module with example: obj = CCFM(num_fmaps, hidden_dim, expansion)