# import tensorflow as tf
from tensorflow.keras.layers import UpSampling2D,Input
import numpy
from tensorflow.keras import Model
x = numpy.array([[1, 2,3], [4, 5,6]])
inputs = Input(shape=(2, 3, 1))
out =UpSampling2D(size=(4, 4))(inputs)
model = Model(inputs, out)
model.summary()
y = model.predict(numpy.reshape(x, (1, 2, 3, 1)))
y = numpy.reshape(y, (8,12))
print('input:')
print(x)
print('output:')
print(y)
upsampling 2d 就是将原矩阵分别沿着原来的数值阵列对应的倍数
input:
[[1 2 3]
[4 5 6]]
output:
[[1. 1. 1. 1. 2. 2. 2. 2. 3. 3. 3. 3.]
[1. 1. 1. 1. 2. 2. 2. 2. 3. 3. 3. 3.]
[1. 1. 1. 1. 2. 2. 2. 2. 3. 3. 3. 3.]
[1. 1. 1. 1. 2. 2. 2. 2. 3. 3. 3. 3.]
[4. 4. 4. 4. 5. 5. 5. 5. 6. 6. 6. 6.]
[4. 4. 4. 4. 5. 5. 5. 5. 6. 6. 6. 6.]
[4. 4. 4. 4. 5. 5. 5. 5. 6. 6. 6. 6.]
[4. 4. 4. 4. 5. 5. 5. 5. 6. 6. 6. 6.]]
import numpy as np
from tensorflow.keras.layers import (
UpSampling2D,
)
x=np.array(range(24)).reshape((1,2,3,4))
print(x.shape)
x1= UpSampling2D((3,4))(x)
print(x1.shape)
(1, 2, 3, 4)
(1, 6, 12, 4)