class_docstr: Resnet implementation from `Realistic Evaluation of Deep SSL Algorithms`.
  
  Attributes:
    num_classes: Integer representing the number of classes.
    lrelu_leakiness: A float representing the weight of the Leaky Relu
      parameter.
    horizontal_flip: A boolean specifying whether we do random horizontal flips
      of the training data, for data augmentation.
    random_translation: A boolean specifying whether we do random translations
      of the training data, for data augmentation.
    gaussian_noise: Boolean specifying whether to add Gaussian noise to the
      inputs.
    width: Integer representing the size of the convolutional filter.
    num_residual_units: Integer representing the number of residual units.
    name: String representing the model name.
    aggregation: String representing an aggregation operation that could be
      applied to the inputs. See superclass attributes for details.
    hidden_aggregation: A tuple or list of integers representing the number of
      units in each layer of aggregation multilayer percepron. After the inputs
      are passed through the encoding layers, before aggregation they are passed
      through a fully connected network with these numbers of hidden units in
      each layer.
    activation: An activation function to be applied to the outputs of each
      fully connected layer in the aggregation network.
    is_binary_classification: Boolean specifying if this is model for binary
      classification. If so, it uses a different loss function and returns
      predictions with a single dimension, batch size.
code: def __init__(
      self,
      num_classes,
      lrelu_leakiness,
      horizontal_flip,
      random_translation,
      gaussian_noise,
      width,
      num_residual_units,
      name="wide_resnet",
      ema_factor=None,
      is_binary_classification=False,
      aggregation=None,
      activation=tf.nn.leaky_relu,
      hidden_aggregation=(),
  ):
      super(WideResnet, self).__init__(
          aggregation=aggregation,
          hidden_aggregation=hidden_aggregation,
          activation=activation,
      )
      self.name = name
      self.num_classes = num_classes
      self.is_binary_classification = is_binary_classification
      self.lrelu_leakiness = lrelu_leakiness
      self.horizontal_flip = horizontal_flip
      self.random_translation = random_translation
      self.gaussian_noise = gaussian_noise
      self.width = width
      self.num_residual_units = num_residual_units
      self.ema_factor = ema_factor
  
file_path: neural-structured-learning/research/gam/gam/models/wide_resnet.py
imports: from .models_base import Model
  import numpy
  import tensorflow
label_desc: Use image node_id 1 to create a new WideResnet object from inherited base classes: Model with example: obj = WideResnet(num_classes, lrelu_leakiness, horizontal_flip, random_translation, gaussian_noise, width, num_residual_units, name, ema_factor, is_binary_classification, aggregation, activation, hidden_aggregation)