class_docstr: MultiHeadSelfAttention module optimized for Apple Neural Engine
      
class_docstr_tok: ["MultiHeadSelfAttention","module","optimized","for","Apple","Neural","Engine"]
code: def __init__(self, config):
      super().__init__(config)
  
      setattr(
          self,
          "q_lin",
          nn.Conv2d(
              in_channels=config.dim,
              out_channels=config.dim,
              kernel_size=1,
          ),
      )
  
      setattr(
          self,
          "k_lin",
          nn.Conv2d(
              in_channels=config.dim,
              out_channels=config.dim,
              kernel_size=1,
          ),
      )
  
      setattr(
          self,
          "v_lin",
          nn.Conv2d(
              in_channels=config.dim,
              out_channels=config.dim,
              kernel_size=1,
          ),
      )
  
      setattr(
          self,
          "out_lin",
          nn.Conv2d(
              in_channels=config.dim,
              out_channels=config.dim,
              kernel_size=1,
          ),
      )
  
imports: from ane_transformers.reference.layer_norm import LayerNormANE
  import torch
  import torch.nn
  from transformers.models.distilbert import modeling_distilbert
label_desc: Use image node_id 1 to create a new MultiHeadSelfAttention object from inherited base classes: modeling_distilbert with example: obj = MultiHeadSelfAttention(config)