docstr: Returns a structured description of the model, including (where relevant)
  the schema of the training data, description of the training data,
  training statistics, and model hyperparameters.
  
  Returns
  -------
  sections : list (of list of tuples)
      A list of summary sections.
        Each section is a list.
          Each item in a section list is a tuple of the form:
            ('<feature>','<field>')
  section_titles: list
      A list of section titles.
        The order matches that of the 'sections' object.
code: def _get_summary_struct(self):
      """
      Returns a structured description of the model, including (where relevant)
      the schema of the training data, description of the training data,
      training statistics, and model hyperparameters.
  
      Returns
      -------
      sections : list (of list of tuples)
          A list of summary sections.
            Each section is a list.
              Each item in a section list is a tuple of the form:
                ('<feature>','<field>')
      section_titles: list
          A list of section titles.
            The order matches that of the 'sections' object.
      """
  
      sections = []
      fields = []
  
      _features = _precomputed_field(
          _internal_utils.pretty_print_list(self.features)
      )
      _exclude = _precomputed_field(
          _internal_utils.pretty_print_list(self.excluded_features)
      )
  
      header_fields = [
          ("Features", "features"),
          ("Excluded Features", "excluded_features"),
      ]
  
      sections.append("Model Fields")
      fields.append(header_fields)
  
      if self.user_column_interpretations:
          sections.append("User Specified Interpretations")
          fields.append(
              list(
                  sorted(
                      self._get("user_column_interpretations").items()
                  )
              )
          )
  
      column_interpretations = self._get("column_interpretations")
      features = self._get("features")
  
      if self._get("fitted") and features is not None:
          n_rows = len(features)
          transform_info = [None] * n_rows
  
          for i, f in enumerate(features):
              interpretation = column_interpretations[f]
              input_type = self.input_types[f]
              (
                  description,
                  output_type,
              ) = _get_interpretation_description_and_output_type(
                  interpretation, input_type
              )
  
              transform_info[i] = (
                  f,
                  input_type.__name__,
                  interpretation,
                  description,
                  output_type.__name__,
              )
  
          transform_table = _SFrame()
          transform_table["Column"] = [t[0] for t in transform_info]
          transform_table["Type"] = [t[1] for t in transform_info]
          transform_table["Interpretation"] = [
              t[2] for t in transform_info
          ]
          transform_table["Transforms"] = [t[3] for t in transform_info]
          transform_table["Output Type"] = [
              t[4] for t in transform_info
          ]
  
          fields[-1].append(transform_table)
  
      return fields, sections
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  from .None import TransformerBase
  from .None import TransformerChain
  from .None import TransformToFlatDictionary
  from turicreate.toolkits._model import PythonProxy
  from turicreate.toolkits._model import ExposeAttributesFromProxy
  from turicreate.toolkits._internal_utils import _toolkit_repr_print
  from turicreate.toolkits._internal_utils import _precomputed_field
  from turicreate.toolkits._internal_utils import _raise_error_if_not_sframe
  from turicreate.util import _raise_error_if_not_of_type
  from turicreate.toolkits._internal_utils import _check_categorical_option_type
  from .None import _internal_utils
  from array import array
  import textwrap
  from turicreate import SFrame
  import turicreate
label_desc: Use image node_id 8 for calling the AutoVectorizer obj's underlying member method code with example usage: obj._get_summary_struct() and returns: fields,  sections