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