

If you look into the code you can figure what's exactly happening. However, I find this would make no sense, otherwise they wouldn't mention this as a data augmentation procedure. Therefore, I understand that I'm just randomly rotating the image, that is, changing each image in the dataset, but I'm not doing any data augmentation. `(samples, height, width, channels)`, data_format='channels_last'. Rotations at inference time, set `training` to True when calling the layer. Init signature: (*args, **kwargs)īy default, random rotations are only applied during training.Īt inference time, the layer does nothing. Anyway, I decided to check this in the documentation, and, in effect, this is what is happening. This is already kind of weird because a layer produces an output from an input (obviously) but it doesn't duplicate the image.

Layers.Conv2D(64, 3, padding='same', activation='relu'), Layers.Conv2D(32, 3, padding='same', activation='relu'), Layers.Conv2D(16, 3, padding='same', activation='relu'), In the image classification tutorial, it puts this layer inside the Sequential model like this: model = Sequential([ If I apply a random rotation to every image in a data set containing $n$ images, I will obtain a new dataset with $2n$ images, $n$ pairs of the original image plus it's random-rotated counterpart.Īssuming this is true, I don't understand what keras experimental layers related to data augmentation are doing. From what I gathered, data augmentation consists in increasing your number of instances in your dataset by applying some transfromations.
