class_docstr: Implements a 'two-tower' MLP: one for query and one for response
  Used in search pairwise ranking: both pos_response and neg_response
  use the response-MLP
class_docstr_tok: ["Implements","a","'two-tower","'","MLP",":","one","for","query","and","one","for","response","Used","in","search","pairwise","ranking",":","both","pos_response","and","neg_response","use","the","response-MLP"]
code: def __init__(
      self, config: Config, from_dim: int, to_dim: int
  ) -> None:
      super().__init__(config)
      self.mlp_for_response = MLPDecoderQueryResponse.get_mlp(
          from_dim, to_dim, config.hidden_dims
      )
      self.mlp_for_query = MLPDecoderQueryResponse.get_mlp(
          from_dim, to_dim, config.hidden_dims
      )
      self.out_dim = (3, to_dim)
      log_class_usage
  
file_path: pytext/pytext/models/decoders/mlp_decoder_query_response.py
imports: from typing import List
  import torch
  import torch.nn
  from pytext.utils.usage import log_class_usage
  from .decoder_base import DecoderBase
label_desc: Use image node_id 1 to create a new MLPDecoderQueryResponse object from inherited base classes: DecoderBase with example: obj = MLPDecoderQueryResponse(config, from_dim, to_dim)