(images, num_classes=10, is_training=False,
             dropout_keep_prob=0.5,
             prediction_fn=slim.softmax,
             scope='CifarNet')
return logits, end_points
Creates a variant of the CifarNet model.

  Note that since the output is a set of 'logits', the values fall in the
  interval of (-infinity, infinity). Consequently, to convert the outputs to a
  probability distribution over the characters, one will need to convert them
  using the softmax function:

        logits = cifarnet.cifarnet(images, is_training=False)
        probabilities = tf.nn.softmax(logits)
        predictions = tf.argmax(logits, 1)

  Args:
    images: A batch of `Tensors` of size [batch_size, height, width, channels].
    num_classes: the number of classes in the dataset.
    is_training: specifies whether or not we're currently training the model.
      This variable will determine the behaviour of the dropout layer.
    dropout_keep_prob: the percentage of activation values that are retained.
    prediction_fn: a function to get predictions out of logits.
    scope: Optional variable_scope.

  Returns:
    logits: the pre-softmax activations, a tensor of size
      [batch_size, `num_classes`]
    end_points: a dictionary from components of the network to the corresponding
      activation.
Creates a variant of the CifarNet model.
Creates a variant of the CifarNet model .
def cifarnet(images, num_classes=10, is_training=False,
             dropout_keep_prob=0.5,
             prediction_fn=slim.softmax,
             scope='CifarNet'):
  """Creates a variant of the CifarNet model.

  Note that since the output is a set of 'logits', the values fall in the
  interval of (-infinity, infinity). Consequently, to convert the outputs to a
  probability distribution over the characters, one will need to convert them
  using the softmax function:

        logits = cifarnet.cifarnet(images, is_training=False)
        probabilities = tf.nn.softmax(logits)
        predictions = tf.argmax(logits, 1)

  Args:
    images: A batch of `Tensors` of size [batch_size, height, width, channels].
    num_classes: the number of classes in the dataset.
    is_training: specifies whether or not we're currently training the model.
      This variable will determine the behaviour of the dropout layer.
    dropout_keep_prob: the percentage of activation values that are retained.
    prediction_fn: a function to get predictions out of logits.
    scope: Optional variable_scope.

  Returns:
    logits: the pre-softmax activations, a tensor of size
      [batch_size, `num_classes`]
    end_points: a dictionary from components of the network to the corresponding
      activation.
  """
  end_points = {}

  with tf.variable_scope(scope, 'CifarNet', [images, num_classes]):
    net = slim.conv2d(images, 64, [5, 5], scope='conv1')
    end_points['conv1'] = net
    net = slim.max_pool2d(net, [2, 2], 2, scope='pool1')
    end_points['pool1'] = net
    net = tf.nn.lrn(net, 4, bias=1.0, alpha=0.001/9.0, beta=0.75, name='norm1')
    net = slim.conv2d(net, 64, [5, 5], scope='conv2')
    end_points['conv2'] = net
    net = tf.nn.lrn(net, 4, bias=1.0, alpha=0.001/9.0, beta=0.75, name='norm2')
    net = slim.max_pool2d(net, [2, 2], 2, scope='pool2')
    end_points['pool2'] = net
    net = slim.flatten(net)
    end_points['Flatten'] = net
    net = slim.fully_connected(net, 384, scope='fc3')
    end_points['fc3'] = net
    net = slim.dropout(net, dropout_keep_prob, is_training=is_training,
                       scope='dropout3')
    net = slim.fully_connected(net, 192, scope='fc4')
    end_points['fc4'] = net
    logits = slim.fully_connected(net, num_classes,
                                  biases_initializer=tf.zeros_initializer(),
                                  weights_initializer=trunc_normal(1/192.0),
                                  weights_regularizer=None,
                                  activation_fn=None,
                                  scope='logits')

    end_points['Logits'] = logits
    end_points['Predictions'] = prediction_fn(logits, scope='Predictions')

  return logits, end_points
def cifarnet ( images , num_classes = 10 , is_training = False , dropout_keep_prob = 0.5 , prediction_fn = slim . softmax , scope = 'CifarNet' ) : end_points = { } with tf . variable_scope ( scope , 'CifarNet' , [ images , num_classes ] ) : net = slim . conv2d ( images , 64 , [ 5 , 5 ] , scope = 'conv1' ) end_points [ 'conv1' ] = net net = slim . max_pool2d ( net , [ 2 , 2 ] , 2 , scope = 'pool1' ) end_points [ 'pool1' ] = net net = tf . nn . lrn ( net , 4 , bias = 1.0 , alpha = 0.001 / 9.0 , beta = 0.75 , name = 'norm1' ) net = slim . conv2d ( net , 64 , [ 5 , 5 ] , scope = 'conv2' ) end_points [ 'conv2' ] = net net = tf . nn . lrn ( net , 4 , bias = 1.0 , alpha = 0.001 / 9.0 , beta = 0.75 , name = 'norm2' ) net = slim . max_pool2d ( net , [ 2 , 2 ] , 2 , scope = 'pool2' ) end_points [ 'pool2' ] = net net = slim . flatten ( net ) end_points [ 'Flatten' ] = net net = slim . fully_connected ( net , 384 , scope = 'fc3' ) end_points [ 'fc3' ] = net net = slim . dropout ( net , dropout_keep_prob , is_training = is_training , scope = 'dropout3' ) net = slim . fully_connected ( net , 192 , scope = 'fc4' ) end_points [ 'fc4' ] = net logits = slim . fully_connected ( net , num_classes , biases_initializer = tf . zeros_initializer ( ) , weights_initializer = trunc_normal ( 1 / 192.0 ) , weights_regularizer = None , activation_fn = None , scope = 'logits' ) end_points [ 'Logits' ] = logits end_points [ 'Predictions' ] = prediction_fn ( logits , scope = 'Predictions' ) return logits , end_points