class_docstr: Lazy multihead mask, combines multiple lazy masks one per head.
class_docstr_tok: ["Lazy","multihead","mask",",","combines","multiple","lazy","masks","one","per","head","."]
code: def __post_init__(self):
      if not self.masks:
          raise ValueError("Unsupported empty tuple of masks")
  
      shape = self.masks[0].shape
      for mask in self.masks[1:]:
          if shape != mask.shape:
              raise ValueError(
                  f"Unexpected mask shape, got: {mask.shape}, expected: {shape}"
              )
  
      if not all(isinstance(mask, Mask) for mask in self.masks):
          raise ValueError("masks should be of type Mask")
  
      if any(isinstance(mask, MultiHeadMask) for mask in self.masks):
          raise ValueError("Nesting MultiHeadMasks is not supported")
  
imports: from __future__ import annotations
  import dataclasses
  from typing import Any, Callable, Sequence, Tuple
  import numpy
label_desc: Use image node_id 1 for calling the MultiHeadMask obj's underlying member method code with example usage: obj.__post_init__() without return types