class_docstr: Neural Network. Deep Learning base model.
  
  Parameters:
  -----------
  optimizer: class
      The weight optimizer that will be used to tune the weights in order of minimizing
      the loss.
  loss: class
      Loss function used to measure the model's performance. SquareLoss or CrossEntropy.
  validation: tuple
      A tuple containing validation data and labels (X, y)
class_docstr_tok: ["Neural","Network",".","Deep","Learning","base","model",".","Parameters",":","--","--","--","--","--","-","optimizer",":","class","The","weight","optimizer","that","will","be","used","to","tune","the","weights","in","order","of","minimizing","the","loss",".","loss",":","class","Loss","function","used","to","measure","the","model","'s","performance",".","SquareLoss","or","CrossEntropy",".","validation",":","tuple","A","tuple","containing","validation","data","and","labels","(","X",",","y",")"]
code: def summary(self, name="Model Summary"):
      # Print model name
      print(AsciiTable([[name]]).table)
      # Network input shape (first layer's input shape)
      print("Input Shape: %s" % str(self.layers[0].input_shape))
      # Iterate through network and get each layer's configuration
      table_data = [["Layer Type", "Parameters", "Output Shape"]]
      tot_params = 0
      for layer in self.layers:
          layer_name = layer.layer_name()
          params = layer.parameters()
          out_shape = layer.output_shape()
          table_data.append([layer_name, str(params), str(out_shape)])
          tot_params += params
      # Print network configuration table
      print(AsciiTable(table_data).table)
      print("Total Parameters: %d\n" % tot_params)
  
file_path: ML-From-Scratch/mlfromscratch/deep_learning/neural_network.py
imports: from __future__ import print_function, division
  from terminaltables import AsciiTable
  import numpy
  import progressbar
  from mlfromscratch.utils import batch_iterator
  from mlfromscratch.utils.misc import bar_widgets
label_desc: Use image node_id 9 for calling the NeuralNetwork obj's underlying member method code with example usage: obj.summary(name) without return types