code: def __init__(self, nb_classes=10):
      # NOTE: for compatibility with Madry Lab downloadable checkpoints,
      # we cannot use scopes, give these variables names, etc.
      self.W_conv1 = self._weight_variable([5, 5, 1, 32])
      self.b_conv1 = self._bias_variable([32])
      self.W_conv2 = self._weight_variable([5, 5, 32, 64])
      self.b_conv2 = self._bias_variable([64])
      self.W_fc1 = self._weight_variable([7 * 7 * 64, 1024])
      self.b_fc1 = self._bias_variable([1024])
      self.W_fc2 = self._weight_variable([1024, nb_classes])
      self.b_fc2 = self._bias_variable([nb_classes])
      Model.__init__(self, "", nb_classes, {})
      self.dataset_factory = Factory(MNIST, {"center": False})
  
file_path: cleverhans/cleverhans_v3.1.0/examples/madry_lab_challenges/mnist/madry_mnist_model.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from collections import OrderedDict
  import tensorflow
  from cleverhans.model import Model
  from cleverhans.utils import deterministic_dict
  from cleverhans.dataset import Factory, MNIST
label_desc: Use image node_id 1 to create a new MadryMNIST object from inherited base classes: Model with example: obj = MadryMNIST(nb_classes)