code: def inception_resnet_v2(
      inputs,
      nb_classes=1001,
      is_training=True,
      dropout_keep_prob=0.8,
      reuse=None,
      scope="InceptionResnetV2",
      create_aux_logits=True,
      num_classes=None,
  ):
      """Creates the Inception Resnet V2 model.
  
      Args:
        inputs: a 4-D tensor of size [batch_size, height, width, 3].
        nb_classes: number of predicted classes.
        is_training: whether is training or not.
        dropout_keep_prob: float, the fraction to keep before final layer.
        reuse: whether or not the network and its variables should be reused. To be
          able to reuse 'scope' must be given.
        scope: Optional variable_scope.
        create_aux_logits: Whether to include the auxilliary logits.
        num_classes: depricated alias for nb_classes
  
      Returns:
        logits: the logits outputs of the model.
        end_points: the set of end_points from the inception model.
      """
      if num_classes is not None:
          warnings.warn(
              "`num_classes` is deprecated. Switch to `nb_classes`."
              " `num_classes` may be removed on or after 2019-04-23."
          )
          nb_classes = num_classes
          del num_classes
      end_points = {}
  
      with tf.variable_scope(
          scope, "InceptionResnetV2", [inputs, nb_classes], reuse=reuse
      ) as var_scope:
          with slim.arg_scope(
              [slim.batch_norm, slim.dropout], is_training=is_training
          ):
              net, end_points = inception_resnet_v2_base(
                  inputs, scope=var_scope
              )
  
              if create_aux_logits:
                  with tf.variable_scope("AuxLogits"):
                      aux = end_points["PreAuxLogits"]
                      aux = slim.avg_pool2d(
                          aux,
                          5,
                          stride=3,
                          padding="VALID",
                          scope="Conv2d_1a_3x3",
                      )
                      aux = slim.conv2d(
                          aux, 128, 1, scope="Conv2d_1b_1x1"
                      )
                      aux = slim.conv2d(
                          aux,
                          768,
                          aux.get_shape()[1:3],
                          padding="VALID",
                          scope="Conv2d_2a_5x5",
                      )
                      aux = slim.flatten(aux)
                      aux = slim.fully_connected(
                          aux,
                          nb_classes,
                          activation_fn=None,
                          scope="Logits",
                      )
                      end_points["AuxLogits"] = aux
  
              with tf.variable_scope("Logits"):
                  net = slim.avg_pool2d(
                      net,
                      net.get_shape()[1:3],
                      padding="VALID",
                      scope="AvgPool_1a_8x8",
                  )
                  net = slim.flatten(net)
  
                  net = slim.dropout(
                      net,
                      dropout_keep_prob,
                      is_training=is_training,
                      scope="Dropout",
                  )
  
                  end_points["PreLogitsFlatten"] = net
                  logits = slim.fully_connected(
                      net,
                      nb_classes,
                      activation_fn=None,
                      scope="Logits",
                  )
                  end_points["Logits"] = logits
                  end_points["Predictions"] = tf.nn.softmax(
                      logits, name="Predictions"
                  )
  
          return logits, end_points
  
file_path: cleverhans/cleverhans_v3.1.0/examples/nips17_adversarial_competition/dev_toolkit/sample_defenses/ens_adv_inception_resnet_v2/inception_resnet_v2.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import warnings
  import tensorflow
label_desc: Use image node_id 5 for calling a global function with example usage: inception_resnet_v2(inputs, nb_classes, is_training, dropout_keep_prob, reuse, scope, create_aux_logits, num_classes) and returns: logits,  end_points