text: import torch
  import torch.nn.functional as F
  # 这里就是一个函数了, 不是初始化类了, 直接有输入输出的.
  # 所以weights biases都是要传的.
  def functional_conv_block(x: torch.Tensor, weights: torch.Tensor, biases: torch.Tensor,
                            bn_weights, bn_biases) -> torch.Tensor:
      """Performs 3x3 convolution, ReLu activation, 2x2 max pooling in a functional fashion.
  
      # Arguments:
          x: Input Tensor for the conv block
          weights: Weights for the convolutional block
          biases: Biases for the convolutional block
          bn_weights:
          bn_biases:
      """
      x = F.conv2d(x, weights, biases, padding=1)
      x = F.batch_norm(x, running_mean=None, running_var=None, weight=bn_weights, bias=bn_biases, training=True)
      x = F.relu(x)
      x = F.max_pool2d(x, kernel_size=2, stride=2)
      return x