class_docstr: The same data information shared by the WideAndDeep model and its feature generation part.
  
  Each instance could contain the following fields:
  wide_base_cols: Data of wide_base_cols together with wide_cross_cols will be fed
                  into the wide model. List of String. Default is an empty list.
  wide_base_dims: Dimensions of wide_base_cols. The dimensions of the data in
                  wide_base_cols should be within the range of wide_base_dims.
                  List of int. Default is an empty list.
  wide_cross_cols: Data of wide_cross_cols will be fed into the wide model.
                   List of String. Default is an empty list.
  wide_cross_dims: Dimensions of wide_cross_cols. The dimensions of the data in
                   wide_cross_cols should be within the range of wide_cross_dims.
                   List of int. Default is an empty list.
  indicator_cols: Data of indicator_cols will be fed into the deep model as multi-hot vectors.
                  List of String. Default is an empty list.
  indicator_dims: Dimensions of indicator_cols. The dimensions of the data in
                  indicator_cols should be within the range of indicator_dims.
                  List of int. Default is an empty list.
  embed_cols: Data of embed_cols will be fed into the deep model as embeddings.
              List of String. Default is an empty list.
  embed_in_dims: Input dimension of the data in embed_cols. The dimensions of the data in
                 embed_cols should be within the range of embed_in_dims.
                 List of int. Default is an empty list.
  embed_out_dims: The dimensions of embeddings. List of int. Default is an empty list.
  continuous_cols: Data of continuous_cols will be treated as continuous values for
                   the deep model. List of String. Default is an empty list.
  label: The name of the 'label' column. String. Default is 'label'.
code: def __str__(self):
      return (
          "ColumnFeatureInfo {wide_base_cols: %s, wide_base_dims: %s, wide_cross_cols: %s, "
          "wide_cross_dims: %s, indicator_cols: %s, indicator_dims: %s, embed_cols: %s, "
          "embed_cols: %s, embed_in_dims: %s, embed_out_dims: %s, continuous_cols: %s, "
          "label: '%s'}"
          % (
              self.wide_base_cols,
              self.wide_base_dims,
              self.wide_cross_cols,
              self.wide_cross_dims,
              self.indicator_cols,
              self.indicator_dims,
              self.embed_cols,
              self.embed_cols,
              self.embed_in_dims,
              self.embed_out_dims,
              self.continuous_cols,
              self.label,
          )
      )
  
imports: from __future__ import division, print_function, unicode_literals
  import sys
  import os
  import math
  from optparse import OptionParser
  from time import time
  import tempfile
  from bigdl.friesian.utils import SafePickle
  from bigdl.orca import init_orca_context, stop_orca_context
  from bigdl.orca.data.file import exists, makedirs
  from bigdl.friesian.feature import FeatureTable
  from bigdl.dllib.utils.file_utils import get_remote_file_to_local
  from bigdl.orca.learn.tf2.estimator import Estimator
  import tensorflow
  from bigdl.dllib.utils.log4Error import *
label_desc: Use image node_id 3 for calling the ColumnFeatureInfo obj's underlying member method code with example usage: obj.__str__() and returns: unknown