How does the UpSampling2D
layer work in Keras? According to official documentation:
Repeats the rows and columns of the data by
size[0]
andsize[1]
respectively.
So, if size=(2, 2)
, how does it repeat the rows and columns of the input matrix? Could you please explain the procedure with an example?
If
Repeats the rows and columns of the data by
size[0]
andsize[1]
respectively.
does not help, then maybe an example would be helpful:
>>> import numpy as np
>>> from keras.layers import UpSampling2D
>>> from keras.models import Sequential
>>> model = Sequential()
>>> model.add(UpSampling2D(size=(2,2), input_shape=(3,3,1)))
>>> x = np.arange(9).reshape(1,3,3,1)
>>> x[0,:,:,0] # this is what x looks like initially
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
>>> y = model.predict(x)
>>> y[0,:,:,0] # this is what it looks like after upsampling
array([[0., 0., 1., 1., 2., 2.],
[0., 0., 1., 1., 2., 2.],
[3., 3., 4., 4., 5., 5.],
[3., 3., 4., 4., 5., 5.],
[6., 6., 7., 7., 8., 8.],
[6., 6., 7., 7., 8., 8.]], dtype=float32)