class_docstr: <a id="ConvMixerLayer"></a>
  
  ## ConvMixer layer
  
  This is a single ConvMixer layer. The model will have a series of these.
class_docstr_tok: ["<","a","id=","''","ConvMixerLayer","''",">","<","\/a",">","#","#","ConvMixer","layer","This","is","a","single","ConvMixer","layer",".","The","model","will","have","a","series","of","these","."]
code: def forward(self, x: torch.Tensor):
      # For the residual connection around the depth-wise convolution
      residual = x
  
      # Depth-wise convolution, activation and normalization
      x = self.depth_wise_conv(x)
      x = self.act1(x)
      x = self.norm1(x)
  
      # Add residual connection
      x += residual
  
      # Point-wise convolution, activation and normalization
      x = self.point_wise_conv(x)
      x = self.act2(x)
      x = self.norm2(x)
  
      #
      return x
  
file_path: annotated_deep_learning_paper_implementations/labml_nn/conv_mixer/__init__.py
imports: import torch
  from torch import nn
  from labml_helpers.module import Module
  from labml_nn.utils import clone_module_list
label_desc: Use image node_id 2 for calling the ConvMixerLayer obj's underlying member method code with example usage: obj.forward(x) and returns: x