class_docstr: __init__(word_contextualizer, word_comparator, word_aggregator, hidden_size=None)
  
  The Attribute Summarizer.
  
  Summarizes the two word embedding sequences of an attribute.
  `Refer this tutorial <https://nbviewer.jupyter.org/github/sidharthms/deepmatcher/blob/master/examples/matching_models.ipynb#2.1.-Attribute-Summarization>`__
  for details. Sub-classes that implement various built-in options for this module are
  defined in :mod:`deepmatcher.attr_summarizers`.
  
  Args:
      word_contextualizer (string or :class:`WordContextualizer` or callable):
          Module that takes a word embedding sequence and produces a context-aware
          word embedding sequence as output.
          Options `listed here <https://nbviewer.jupyter.org/github/sidharthms/deepmatcher/blob/master/examples/matching_models.ipynb#word_contextualizer-can-be-set-to-one-of-the-following:>`__.
      word_comparator (string or :class:`WordComparator` or callable):
          Module that takes two word embedding sequences, aligns words in the two
          sequences, and performs a word by word comparison.
          Options `listed here <https://nbviewer.jupyter.org/github/sidharthms/deepmatcher/blob/master/examples/matching_models.ipynb#word_comparator-can-be-set-to-one-of-the-following:>`__.
      word_aggregator (string or :class:`WordAggregator` or callable):
          Module that takes a sequence of vectors and aggregates it into a single
          vector.
          Options `listed here <https://nbviewer.jupyter.org/github/sidharthms/deepmatcher/blob/master/examples/matching_models.ipynb#word_aggregator-can-be-set-to-one-of-the-following:>`__.
      hidden_size (int):
          The hidden size used for the three sub-modules (i.e., word_contextualizer,
          word_comparator, and word_aggregator). If None, uses the input size, i.e., the
          size of the last dimension of the input to this module as the hidden size.
          Defaults to None.
class_docstr_tok: ["__init__","(","word_contextualizer",",","word_comparator",",","word_aggregator",",","hidden_size=None",")","The","Attribute","Summarizer",".","Summarizes","the","two","word","embedding","sequences","of","an","attribute",".","`","Refer","this","tutorial","<","https",":","\/\/nbviewer.jupyter.org\/github\/sidharthms\/deepmatcher\/blob\/master\/examples\/matching_models.ipynb","#","2.1.-Attribute-Summarization",">","`","__","for","details",".","Sub-classes","that","implement","various","built-in","options","for","this","module","are","defined","in",":","mod",":","`","deepmatcher.attr_summarizers","`",".","Args",":","word_contextualizer","(","string","or",":","class",":","`","WordContextualizer","`","or","callable",")",":","Module","that","takes","a","word","embedding","sequence","and","produces","a","context-aware","word","embedding","sequence","as","output",".","Options","`","listed","here","<","https",":","\/\/nbviewer.jupyter.org\/github\/sidharthms\/deepmatcher\/blob\/master\/examples\/matching_models.ipynb","#","word_contextualizer-can-be-set-to-one-of-the-following",":",">","`","__",".","word_comparator","(","string","or",":","class",":","`","WordComparator","`","or","callable",")",":","Module","that","takes","two","word","embedding","sequences",",","aligns","words","in","the","two","sequences",",","and","performs","a","word","by","word","comparison",".","Options","`","listed","here","<","https",":","\/\/nbviewer.jupyter.org\/github\/sidharthms\/deepmatcher\/blob\/master\/examples\/matching_models.ipynb","#","word_comparator-can-be-set-to-one-of-the-following",":",">","`","__",".","word_aggregator","(","string","or",":","class",":","`","WordAggregator","`","or","callable",")",":","Module","that","takes","a","sequence","of","vectors","and","aggregates","it","into","a","single","vector",".","Options","`","listed","here","<","https",":","\/\/nbviewer.jupyter.org\/github\/sidharthms\/deepmatcher\/blob\/master\/examples\/matching_models.ipynb","#","word_aggregator-can-be-set-to-one-of-the-following",":",">","`","__",".","hidden_size","(","int",")",":","The","hidden","size","used","for","the","three","sub-modules","(","i.e.",",","word_contextualizer",",","word_comparator",",","and","word_aggregator",")",".","If","None",",","uses","the","input","size",",","i.e.",",","the","size","of","the","last","dimension","of","the","input","to","this","module","as","the","hidden","size",".","Defaults","to","None","."]
docstr: The forward function of attribute summarizer.
          
code: def _forward(self, left_input, right_input):
      r"""The forward function of attribute summarizer."""
      left_contextualized, right_contextualized = (
          left_input,
          right_input,
      )
      if self.word_contextualizer:
          left_contextualized = self.word_contextualizer(left_input)
          right_contextualized = self.word_contextualizer(right_input)
  
      left_compared, right_compared = (
          left_contextualized,
          right_contextualized,
      )
      if self.word_comparator:
          left_compared = self.word_comparator(
              left_contextualized,
              right_contextualized,
              left_input,
              right_input,
          )
          right_compared = self.word_comparator(
              right_contextualized,
              left_contextualized,
              right_input,
              left_input,
          )
  
      left_aggregator_context = right_input
      right_aggregator_context = left_input
  
      left_aggregated = self.word_aggregator(
          left_compared, left_aggregator_context
      )
      right_aggregated = self.word_aggregator(
          right_compared, right_aggregator_context
      )
      return left_aggregated, right_aggregated
  
imports: import copy
  import logging
  from collections import Mapping
  import dill
  import six
  import deepmatcher
  import torch
  import torch.nn
  from .None import _utils
  from ..data import MatchingDataset, MatchingIterator
  from ..runner import Runner
  from ..utils import Bunch, tally_parameters
label_desc: Use image node_id 2 for calling the AttrSummarizer obj's underlying member method code with example usage: obj._forward(left_input, right_input) and returns: left_aggregated,  right_aggregated