docstr: Print out the summary information of a BigDL Keras Model.
  
  For each layer in the model, there will be a separate row containing four columns:
  ________________________________________________________________________________
  Layer (type)          Output Shape          Param #     Connected to
  ================================================================================
  
  In addition, total number of parameters of this model, separated into trainable and
  non-trainable counts, will be printed out after the table.
  
  # Arguments
  line_length The total length of one row. Default is 120.
  positions: The maximum absolute length proportion(%) of each field.
             List of Float of length 4.
             Usually you don't need to adjust this parameter.
             Default is [.33, .55, .67, 1.], meaning that
             the first field will occupy up to 33% of line_length,
             the second field will occupy up to (55-33)% of line_length,
             the third field will occupy up to (67-55)% of line_length,
             the fourth field will occupy the remaining line (100-67)%.
             If the field has a larger length, the remaining part will be trimmed.
             If the field has a smaller length, the remaining part will be white spaces.
code: def summary(self, line_length=120, positions=[0.33, 0.55, 0.67, 1.0]):
      """
      Print out the summary information of a BigDL Keras Model.
  
      For each layer in the model, there will be a separate row containing four columns:
      ________________________________________________________________________________
      Layer (type)          Output Shape          Param #     Connected to
      ================================================================================
  
      In addition, total number of parameters of this model, separated into trainable and
      non-trainable counts, will be printed out after the table.
  
      # Arguments
      line_length The total length of one row. Default is 120.
      positions: The maximum absolute length proportion(%) of each field.
                 List of Float of length 4.
                 Usually you don't need to adjust this parameter.
                 Default is [.33, .55, .67, 1.], meaning that
                 the first field will occupy up to 33% of line_length,
                 the second field will occupy up to (55-33)% of line_length,
                 the third field will occupy up to (67-55)% of line_length,
                 the fourth field will occupy the remaining line (100-67)%.
                 If the field has a larger length, the remaining part will be trimmed.
                 If the field has a smaller length, the remaining part will be white spaces.
      """
      res = callZooFunc(
          self.bigdl_type,
          "zooKerasNetSummary",
          self.value,
          line_length,
          [float(p) for p in positions],
      )
      print(res)
      return res
  
imports: import bigdl.dllib.keras.autograd
  from bigdl.dllib.feature.image import ImageSet
  from bigdl.dllib.feature.text import TextSet
  from bigdl.dllib.feature.common import FeatureSet
  from bigdl.dllib.keras.base import ZooKerasLayer
  from bigdl.dllib.keras.utils import *
  from bigdl.dllib.nn.layer import Layer
  from bigdl.dllib.utils.file_utils import callZooFunc
label_desc: Use image node_id 21 for calling the KerasNet obj's underlying member method code with example usage: obj.summary(line_length, positions) and returns: res