docstr: Disables custom attention processors and sets the default attention implementation.
code: def set_default_attn_processor(self):
      """
      Disables custom attention processors and sets the default attention implementation.
      """
      if all(
          proc.__class__ in ADDED_KV_ATTENTION_PROCESSORS
          for proc in self.attn_processors.values()
      ):
          processor = AttnAddedKVProcessor()
      elif all(
          proc.__class__ in CROSS_ATTENTION_PROCESSORS
          for proc in self.attn_processors.values()
      ):
          processor = AttnProcessor()
      else:
          raise ValueError(
              f"Cannot call `set_default_attn_processor` when attention processors are of type {next(iter(self.attn_processors.values()))}"
          )
  
      self.set_attn_processor(processor)
  
imports: from typing import Dict, Union
  import torch
  import torch.nn.functional
  from torch import nn
  from torch.utils.checkpoint import checkpoint
  from ..configuration_utils import ConfigMixin, register_to_config
  from ..loaders import PeftAdapterMixin
  from .attention import BasicTransformerBlock, SkipFFTransformerBlock
  from .attention_processor import ADDED_KV_ATTENTION_PROCESSORS, CROSS_ATTENTION_PROCESSORS, AttentionProcessor, AttnAddedKVProcessor, AttnProcessor
  from .embeddings import TimestepEmbedding, get_timestep_embedding
  from .modeling_utils import ModelMixin
  from .normalization import GlobalResponseNorm, RMSNorm
  from .resnet import Downsample2D, Upsample2D
label_desc: Use image node_id 6 for calling the UVit2DModel obj's underlying member method code with example usage: obj.set_default_attn_processor() without return types