code: def _KeyNetConvBlock(
      in_channels: int = 8,
      out_channels: int = 8,
      kernel_size: int = 5,
      stride: int = 1,
      padding: int = 2,
      dilation: int = 1,
  ) -> nn.Sequential:
      """Helper function for KeyNet.
  
      Default learnable convolutional block for KeyNet.
      """
      return nn.Sequential(
          nn.Conv2d(
              in_channels,
              out_channels,
              kernel_size,
              stride,
              padding,
              dilation,
          ),
          nn.BatchNorm2d(out_channels),
          nn.ReLU(inplace=True),
      )
  
imports: from typing import List, Optional
  import torch
  import torch.nn.functional
  from torch import nn
  from typing_extensions import TypedDict
  from kornia.core import Module, Tensor, concatenate
  from kornia.filters import SpatialGradient
  from kornia.geometry.transform import pyrdown
  from kornia.utils.helpers import map_location_to_cpu
  from .scale_space_detector import Detector_config, MultiResolutionDetector, get_default_detector_config
label_desc: Use image node_id 1 for calling a global function with example usage: _KeyNetConvBlock(in_channels, out_channels, kernel_size, stride, padding, dilation) and returns: nn