class_docstr: Layout Denoise MLP model for a single node.
  
  Attributes:
    num_encoder_layers: Number of encoder layers.
    qkv_dim: Dimension of the query/key/value.
    dropout_rate: Dropout rate.
    dtype: Data type of the computation (default: float32).
class_docstr_tok: ["Layout","Denoise","MLP","model","for","a","single","node",".","Attributes",":","num_encoder_layers",":","Number","of","encoder","layers",".","qkv_dim",":","Dimension","of","the","query\/key\/value",".","dropout_rate",":","Dropout","rate",".","dtype",":","Data","type","of","the","computation","(","default",":","float32",")","."]
docstr: Applies DeTRTransformer on the inputs.
  
  Args:
    vh_inputs: vh inputs.
    pos_embedding: Positional Embedding to be added to the inputs.
    padding_mask: Binary mask containing 0 for padding tokens.
    train: Whether it is training.
  
  Returns:
    Output of the MLP layers.
docstr_tok: ["Applies","DeTRTransformer","on","the","inputs",".","Args",":","vh_inputs",":","vh","inputs",".","pos_embedding",":","Positional","Embedding","to","be","added","to","the","inputs",".","padding_mask",":","Binary","mask","containing","0","for","padding","tokens",".","train",":","Whether","it","is","training",".","Returns",":","Output","of","the","MLP","layers","."]
code: def __call__(
      self,
      vh_inputs: jnp.ndarray,
      *,
      pos_embedding: Optional[jnp.ndarray] = None,
      padding_mask: Optional[jnp.ndarray] = None,
      train: bool = False,
  ) -> Tuple[jnp.ndarray, jnp.ndarray]:
      """Applies DeTRTransformer on the inputs.
  
      Args:
        vh_inputs: vh inputs.
        pos_embedding: Positional Embedding to be added to the inputs.
        padding_mask: Binary mask containing 0 for padding tokens.
        train: Whether it is training.
  
      Returns:
        Output of the MLP layers.
      """
      x = vh_inputs + pos_embedding
      for _ in range(self.num_encoder_layers):
          x = common.dense(x, self.hidden_dim, jnp.float32)
          x = nn.Dropout(rate=self.dropout_rate)(
              x, deterministic=not train
          )
      return x
  
imports: from typing import Any, Dict, List, Tuple, Optional
  import flax.linen
  import jax.numpy
  import ml_collections
  from scenic.projects.baselines import resnet
  from scenic.projects.layout_denoise import base_model
  from scenic.projects.layout_denoise.layers import common
  from scenic.projects.layout_denoise.layers import embedding
  from scenic.projects.layout_denoise.layers import predictor
  from scenic.projects.layout_denoise.layers import transformer
label_desc: Use image node_id 1 for calling the MLPModel obj's underlying member method code with example usage: obj.__call__(vh_inputs) and returns: x