CIFAR-100 3c3d

class deepobs.pytorch.testproblems.cifar100_3c3d.cifar100_3c3d(batch_size, l2_reg=0.002)[source]

DeepOBS test problem class for a three convolutional and three dense layered neural network on Cifar-100.

The network consists of

  • three conv layers with ReLUs, each followed by max-pooling
  • two fully-connected layers with 512 and 256 units and ReLU activation
  • 100-unit output layer with softmax
  • cross-entropy loss
  • L2 regularization on the weights (but not the biases) with a default factor of 0.002

The weight matrices are initialized using Xavier initialization and the biases are initialized to 0.0.

Parameters:
  • batch_size (int) -- Batch size to use.
  • l2_reg (float) -- L2-regularization factor. L2-Regularization (weight decay) is used on the weights but not the biases. Defaults to 0.002.
data

The DeepOBS data set class for Cifar-100.

loss_function

The loss function for this testproblem is torch.nn.CrossEntropyLoss().

net

The DeepOBS subclass of torch.nn.Module that is trained for this tesproblem (net_cifar10_3c3d with 100 outputs).

get_regularization_loss()

Returns the current regularization loss of the network state.

get_regularization_groups()[source]

Creates regularization groups for the parameters.

Returns:A dictionary where the key is the regularization factor and the value is a list of parameters.
Return type:dict
set_up()[source]

Set up the vanilla CNN test problem on Cifar-100.