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 get_mlp(from_dim: int, to_dim: int, hidden_dims: List[int]):
      layers = []
      current_dim = from_dim
      for dim in hidden_dims or []:
          layers.append(nn.Linear(current_dim, dim))
          layers.append(nn.ReLU())
          current_dim = dim
      layers.append(nn.Linear(current_dim, to_dim))
      return nn.Sequential(*layers)
  
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 2 for calling the MLPDecoderQueryResponse obj's underlying member method code with example usage: obj.get_mlp(from_dim, to_dim, hidden_dims) and returns: nn