class_docstr: Convolutional network designed for Cifar10.
  
  Approximately equivalent to "VGG, minus max pooling, plus BatchNorm". For best
  results the input data should be scaled to be between -1 and 1 when using the
  standard initializers.
docstr: Connects the module to some inputs.
  
  Args:
    inputs: A Tensor of size [batch_size, input_height, input_width,
      input_channels], representing a batch of input images.
    is_training: Boolean to indicate to `snt.BatchNorm` if we are currently
      training.
    test_local_stats: Boolean to indicate to `snt.BatchNorm` if batch
      normalization should  use local batch statistics at test time. By
      default `True`.
  
  Returns:
    A dictionary containing two items:
    - logits: The output logits of the network, this will be of size
      [batch_size, num_classes]
    - activations: A list of `tf.Tensor`, the feature activations of the
      module. The order of the activations is preserved in the output list.
      The activations in the output list are those computed after the
      activation function is applied, if one is applied at that layer.
code: def __call__(
      self,
      inputs: tf.Tensor,
      is_training: types.BoolLike,
      test_local_stats: bool = True,
  ) -> Mapping[str, Union[tf.Tensor, Sequence[tf.Tensor]]]:
      """Connects the module to some inputs.
  
      Args:
        inputs: A Tensor of size [batch_size, input_height, input_width,
          input_channels], representing a batch of input images.
        is_training: Boolean to indicate to `snt.BatchNorm` if we are currently
          training.
        test_local_stats: Boolean to indicate to `snt.BatchNorm` if batch
          normalization should  use local batch statistics at test time. By
          default `True`.
  
      Returns:
        A dictionary containing two items:
        - logits: The output logits of the network, this will be of size
          [batch_size, num_classes]
        - activations: A list of `tf.Tensor`, the feature activations of the
          module. The order of the activations is preserved in the output list.
          The activations in the output list are those computed after the
          activation function is applied, if one is applied at that layer.
      """
      activations = []
      net = inputs
      for conv_layer, bn_layer in zip(
          self._conv_modules, self._bn_modules
      ):
          net = conv_layer(net)
          net = bn_layer(
              net,
              is_training=is_training,
              test_local_stats=test_local_stats,
          )
          net = tf.nn.relu(net)
          activations.append(net)
  
      flat_output = tf.reduce_mean(
          net, axis=[1, 2], keepdims=False, name="avg_pool"
      )
      activations.append(flat_output)
  
      logits = self._logits_module(flat_output)
  
      return {"logits": logits, "activations": activations}
  
file_path: sonnet/sonnet/src/nets/cifar10_convnet.py
imports: from typing import Mapping, Optional, Sequence, Union
  from sonnet.src import base
  from sonnet.src import batch_norm
  from sonnet.src import conv
  from sonnet.src import initializers
  from sonnet.src import linear
  from sonnet.src import types
  import tensorflow
label_desc: Use image node_id 2 for calling the Cifar10ConvNet obj's underlying member method code with example usage: obj.__call__(inputs, is_training, test_local_stats) and returns: dict