class_docstr: A standard multi-layer perceptron 
class_docstr_tok: ["A","standard","multi-layer","perceptron"]
code: def __init__(self, placeholders, dims, categorical=True, **kwargs):
      super(MLP, self).__init__(**kwargs)
  
      self.dims = dims
      self.input_dim = dims[0]
      self.output_dim = dims[-1]
      self.placeholders = placeholders
      self.categorical = categorical
  
      self.inputs = placeholders["features"]
      self.labels = placeholders["labels"]
  
      self.optimizer = tf.train.AdamOptimizer(
          learning_rate=FLAGS.learning_rate
      )
  
      self.build()
  
imports: from collections import namedtuple
  import tensorflow
  import math
  import graphsage.layers
  import graphsage.metrics
  from .prediction import BipartiteEdgePredLayer
  from .aggregators import MeanAggregator, MaxPoolingAggregator, MeanPoolingAggregator, SeqAggregator, GCNAggregator
label_desc: Use image node_id 1 to create a new MLP object from inherited base classes: Model with example: obj = MLP(placeholders, dims, categorical)