class_docstr: to match AttnBlock usage
class_docstr_tok: ["to","match","AttnBlock","usage"]
code: def __init__(self, in_channels):
      super().__init__(dim=in_channels, heads=1, dim_head=in_channels)
  
imports: import logging
  import math
  from typing import Any, Callable, Optional
  import numpy
  import torch
  import torch.nn
  from einops import rearrange
  from packaging import version
  from ...modules.attention import LinearAttention, MemoryEfficientCrossAttention
label_desc: Use image node_id 1 to create a new LinAttnBlock object from inherited base classes: LinearAttention with example: obj = LinAttnBlock(in_channels)