class_docstr: T5 style decoder with FiLM conditioning.
  
  Args:
      input_dims (`int`, *optional*, defaults to `128`):
          The number of input dimensions.
      targets_length (`int`, *optional*, defaults to `256`):
          The length of the targets.
      d_model (`int`, *optional*, defaults to `768`):
          Size of the input hidden states.
      num_layers (`int`, *optional*, defaults to `12`):
          The number of `DecoderLayer`'s to use.
      num_heads (`int`, *optional*, defaults to `12`):
          The number of attention heads to use.
      d_kv (`int`, *optional*, defaults to `64`):
          Size of the key-value projection vectors.
      d_ff (`int`, *optional*, defaults to `2048`):
          The number of dimensions in the intermediate feed-forward layer of `DecoderLayer`'s.
      dropout_rate (`float`, *optional*, defaults to `0.1`):
          Dropout probability.
class_docstr_tok: ["T5","style","decoder","with","FiLM","conditioning",".","Args",":","input_dims","(","`","int","`",",","*","optional","*",",","defaults","to","`","128","`",")",":","The","number","of","input","dimensions",".","targets_length","(","`","int","`",",","*","optional","*",",","defaults","to","`","256","`",")",":","The","length","of","the","targets",".","d_model","(","`","int","`",",","*","optional","*",",","defaults","to","`","768","`",")",":","Size","of","the","input","hidden","states",".","num_layers","(","`","int","`",",","*","optional","*",",","defaults","to","`","12","`",")",":","The","number","of","`","DecoderLayer","`","'s","to","use",".","num_heads","(","`","int","`",",","*","optional","*",",","defaults","to","`","12","`",")",":","The","number","of","attention","heads","to","use",".","d_kv","(","`","int","`",",","*","optional","*",",","defaults","to","`","64","`",")",":","Size","of","the","key-value","projection","vectors",".","d_ff","(","`","int","`",",","*","optional","*",",","defaults","to","`","2048","`",")",":","The","number","of","dimensions","in","the","intermediate","feed-forward","layer","of","`","DecoderLayer","`","'s",".","dropout_rate","(","`","float","`",",","*","optional","*",",","defaults","to","`","0.1","`",")",":","Dropout","probability","."]
code: def encoder_decoder_mask(
      self, query_input: torch.FloatTensor, key_input: torch.FloatTensor
  ) -> torch.FloatTensor:
      mask = torch.mul(
          query_input.unsqueeze(-1), key_input.unsqueeze(-2)
      )
      return mask.unsqueeze(-3)
  
imports: import math
  from typing import Optional, Tuple
  import torch
  from torch import nn
  from ..configuration_utils import ConfigMixin, register_to_config
  from .attention_processor import Attention
  from .embeddings import get_timestep_embedding
  from .modeling_utils import ModelMixin
label_desc: Use image node_id 2 for calling the T5FilmDecoder obj's underlying member method code with example usage: obj.encoder_decoder_mask(query_input, key_input) and returns: mask