Data Sets

Currently DeepOBS includes nine different data sets. Each data set inherits from the same base class with the following signature.

class deepobs.tensorflow.datasets.dataset.DataSet(batch_size)[source]

Base class for DeepOBS data sets.

Parameters:batch_size (int) -- The mini-batch size to use.
batch

A tuple of tensors, yielding batches of data from the dataset. Executing these tensors raises a tf.errors.OutOfRangeError after one epoch.

train_init_op

A tensorflow operation initializing the dataset for the training phase.

train_eval_init_op

A tensorflow operation initializing the testproblem for evaluating on training data.

valid_init_op

A tensorflow operation initializing the dataset for the validation phase.

test_init_op

A tensorflow operation initializing the testproblem for evaluating on test data.

phase

A string-value tf.Variable that is set to train, train_eval, valid, or test, depending on the current phase. This can be used by testproblems to adapt their behavior to this phase.

After selecting a data set (i.e. CIFAR-10, Fahion-MNIST, etc.) we define four internal TensorFlow data sets (i.e. train, train_eval, valid and test). Those are splits of the original data set that are used for training, hyperparameter tuning and performance evaluation. These internal data sets (also called DeepOBS data sets) are created as shown in the illustration below.

../../_images/DeepOBS_Data_Sets1.png