code: def call(self, x):
      x = self.conv1(x)
      x = self.conv2(x)
      x = self.conv3(x)
      x = self.dropout(x)
      x = self.flatten(x)
      x = self.dense1(x)
      return self.dense2(x)
  
file_path: cleverhans/tutorials/tf2/mnist_tutorial.py
imports: import numpy
  import tensorflow
  import tensorflow_datasets
  from absl import app, flags
  from easydict import EasyDict
  from tensorflow.keras import Model
  from tensorflow.keras.layers import Dense, Dropout, Flatten, Conv2D
  from cleverhans.tf2.attacks.projected_gradient_descent import projected_gradient_descent
  from cleverhans.tf2.attacks.fast_gradient_method import fast_gradient_method
label_desc: Use image node_id 2 for calling the Net obj's underlying member method code with example usage: obj.call(x) and returns: self