UpSampling2D 层如何在 Keras 中工作?
How does UpSampling2D layer work in Keras?
UpSampling2D
层在 Keras 中是如何工作的?根据official documentation:
Repeats the rows and columns of the data by size[0]
and size[1]
respectively.
那么,如果size=(2, 2)
,它是如何重复输入矩阵的行和列的呢?能否请您举例说明该过程?
如果
Repeats the rows and columns of the data by size[0]
and size[1]
respectively.
没有帮助,那么也许一个例子会有所帮助:
>>> 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)
UpSampling2D
层在 Keras 中是如何工作的?根据official documentation:
Repeats the rows and columns of the data by
size[0]
andsize[1]
respectively.
那么,如果size=(2, 2)
,它是如何重复输入矩阵的行和列的呢?能否请您举例说明该过程?
如果
Repeats the rows and columns of the data by
size[0]
andsize[1]
respectively.
没有帮助,那么也许一个例子会有所帮助:
>>> 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)