code: def __init__(self, encoder_hid_dim, cross_attention_dim):
      super().__init__()
      self.projection_linear = nn.Linear(
          encoder_hid_dim, cross_attention_dim, bias=False
      )
      self.projection_norm = nn.LayerNorm(cross_attention_dim)
  
imports: from dataclasses import dataclass
  from typing import Dict, Tuple, Union
  import torch
  import torch.utils.checkpoint
  from torch import nn
  from ..configuration_utils import ConfigMixin, register_to_config
  from ..utils import BaseOutput, logging
  from .attention_processor import Attention, AttentionProcessor, AttnProcessor
  from .embeddings import TimestepEmbedding, Timesteps
  from .modeling_utils import ModelMixin
label_desc: Use image node_id 1 to create a new Kandinsky3EncoderProj object from inherited base classes: nn with example: obj = Kandinsky3EncoderProj(encoder_hid_dim, cross_attention_dim)