Как работает слой UpSampling2D в Keras? - PullRequest
0 голосов
/ 29 мая 2019

Как слой UpSampling2D работает в Керасе? Согласно официальной документации :

Повторяет строки и столбцы данных на size[0] и size[1] соответственно.

Итак, если size=(2, 2), как он повторяет строки и столбцы входной матрицы? Не могли бы вы объяснить процедуру на примере?

1 Ответ

2 голосов
/ 29 мая 2019

Если

Повторяет строки и столбцы данных на size[0] и size[1] соответственно.

не помогает, тогда может быть полезен пример:

>>> 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) 
...