code: def call(self, features):
      positive = self.encoder(features, corrupt=False)
      negative = self.encoder(features, corrupt=True)
      summary = tf.nn.sigmoid(tf.reduce_mean(positive, axis=0))
  
      positive = self.discriminator(positive, summary)
      negative = self.discriminator(negative, summary)
  
      l1 = self.loss(tf.ones(positive.shape), positive)
      l2 = self.loss(tf.zeros(negative.shape), negative)
  
      return tf.reduce_mean(l1) + tf.reduce_mean(l2)
  
imports: import math
  import numpy
  import tensorflow
  from gcn import GCN
  from tensorflow.keras import layers
label_desc: Use image node_id 2 for calling the DGI obj's underlying member method code with example usage: obj.call(features) and returns: unknown