繁体   English   中英

Keras:UpSampling2D 后输入和 output 之间的尺寸不匹配

[英]Keras: dimension mismatch between input and output after UpSampling2D

我正在尝试从这里实现 RDN https://arxiv.org/pdf/1802.08797.pdf

As an input I specify: (64, 64, 3) and I expect on the output (128, 128, 3), but after compiling the model keras says those dimensions do not match and both tensors must be (64, 64, 3 ), 做什么?

代码的样子:

lr = Input(shape=(64, 64, 3)) # low res

... bunch of residual blocks here, assigned to model var ...

model = Conv2D(12, 4, padding='same')(model)
# Shape at this point is (None, 64, 64, 12)
model = UpSampling2D(size=2)(model)
sr = Conv2D(3, 4, padding='same')(model) # super res
final = Model(lr, sr)
final.compile(Adam(), loss='mse')

在我最终调用 train_on_batch 后,我得到:

ValueError: Dimensions must be equal, but are 128 and 64 for '{{node mean_squared_error/SquaredDifference}} = SquaredDifference[T=DT_FLOAT](model_10/sr/BiasAdd, IteratorGetNext:1)' with input shapes: [32,128,128,3], [32,64,64,3].

这是 model 摘要:

Model: "model_10"
__________________________________________________________________________________________________
Layer (type)                    Output Shape         Param #     Connected to                     
==================================================================================================
input_14 (InputLayer)           [(None, 64, 64, 3)]  0                                            
__________________________________________________________________________________________________
conv2d_183 (Conv2D)             (None, 64, 64, 64)   3136        input_14[0][0]                   
__________________________________________________________________________________________________
conv2d_184 (Conv2D)             (None, 64, 64, 32)   32800       conv2d_183[0][0]                 
__________________________________________________________________________________________________
conv2d_185 (Conv2D)             (None, 64, 64, 32)   16416       conv2d_184[0][0]                 
__________________________________________________________________________________________________
activation_106 (Activation)     (None, 64, 64, 32)   0           conv2d_185[0][0]                 
__________________________________________________________________________________________________
concatenate_197 (Concatenate)   (None, 64, 64, 64)   0           conv2d_184[0][0]                 
                                                                 activation_106[0][0]             
__________________________________________________________________________________________________
conv2d_186 (Conv2D)             (None, 64, 64, 32)   32800       concatenate_197[0][0]            
__________________________________________________________________________________________________
activation_107 (Activation)     (None, 64, 64, 32)   0           conv2d_186[0][0]                 
__________________________________________________________________________________________________
concatenate_198 (Concatenate)   (None, 64, 64, 64)   0           conv2d_184[0][0]                 
                                                                 activation_107[0][0]             
__________________________________________________________________________________________________
concatenate_199 (Concatenate)   (None, 64, 64, 128)  0           concatenate_197[0][0]            
                                                                 concatenate_198[0][0]            
__________________________________________________________________________________________________
conv2d_187 (Conv2D)             (None, 64, 64, 32)   65568       concatenate_199[0][0]            
__________________________________________________________________________________________________
activation_108 (Activation)     (None, 64, 64, 32)   0           conv2d_187[0][0]                 
__________________________________________________________________________________________________
concatenate_200 (Concatenate)   (None, 64, 64, 64)   0           conv2d_184[0][0]                 
                                                                 activation_108[0][0]             
__________________________________________________________________________________________________
concatenate_201 (Concatenate)   (None, 64, 64, 128)  0           concatenate_197[0][0]            
                                                                 concatenate_200[0][0]            
__________________________________________________________________________________________________
concatenate_202 (Concatenate)   (None, 64, 64, 256)  0           concatenate_199[0][0]            
                                                                 concatenate_201[0][0]            
__________________________________________________________________________________________________
conv2d_188 (Conv2D)             (None, 64, 64, 32)   8224        concatenate_202[0][0]            
__________________________________________________________________________________________________
add_41 (Add)                    (None, 64, 64, 32)   0           conv2d_184[0][0]                 
                                                                 conv2d_188[0][0]                 
__________________________________________________________________________________________________
conv2d_189 (Conv2D)             (None, 64, 64, 32)   16416       add_41[0][0]                     
__________________________________________________________________________________________________
activation_109 (Activation)     (None, 64, 64, 32)   0           conv2d_189[0][0]                 
__________________________________________________________________________________________________
concatenate_203 (Concatenate)   (None, 64, 64, 64)   0           add_41[0][0]                     
                                                                 activation_109[0][0]             
__________________________________________________________________________________________________
conv2d_190 (Conv2D)             (None, 64, 64, 32)   32800       concatenate_203[0][0]            
__________________________________________________________________________________________________
activation_110 (Activation)     (None, 64, 64, 32)   0           conv2d_190[0][0]                 
__________________________________________________________________________________________________
concatenate_204 (Concatenate)   (None, 64, 64, 64)   0           add_41[0][0]                     
                                                                 activation_110[0][0]             
__________________________________________________________________________________________________
concatenate_205 (Concatenate)   (None, 64, 64, 128)  0           concatenate_203[0][0]            
                                                                 concatenate_204[0][0]            
__________________________________________________________________________________________________
conv2d_191 (Conv2D)             (None, 64, 64, 32)   65568       concatenate_205[0][0]            
__________________________________________________________________________________________________
activation_111 (Activation)     (None, 64, 64, 32)   0           conv2d_191[0][0]                 
__________________________________________________________________________________________________
concatenate_206 (Concatenate)   (None, 64, 64, 64)   0           add_41[0][0]                     
                                                                 activation_111[0][0]             
__________________________________________________________________________________________________
concatenate_207 (Concatenate)   (None, 64, 64, 128)  0           concatenate_203[0][0]            
                                                                 concatenate_206[0][0]            
__________________________________________________________________________________________________
concatenate_208 (Concatenate)   (None, 64, 64, 256)  0           concatenate_205[0][0]            
                                                                 concatenate_207[0][0]            
__________________________________________________________________________________________________
conv2d_192 (Conv2D)             (None, 64, 64, 32)   8224        concatenate_208[0][0]            
__________________________________________________________________________________________________
add_42 (Add)                    (None, 64, 64, 32)   0           add_41[0][0]                     
                                                                 conv2d_192[0][0]                 
__________________________________________________________________________________________________
conv2d_193 (Conv2D)             (None, 64, 64, 32)   16416       add_42[0][0]                     
__________________________________________________________________________________________________
activation_112 (Activation)     (None, 64, 64, 32)   0           conv2d_193[0][0]                 
__________________________________________________________________________________________________
concatenate_209 (Concatenate)   (None, 64, 64, 64)   0           add_42[0][0]                     
                                                                 activation_112[0][0]             
__________________________________________________________________________________________________
conv2d_194 (Conv2D)             (None, 64, 64, 32)   32800       concatenate_209[0][0]            
__________________________________________________________________________________________________
activation_113 (Activation)     (None, 64, 64, 32)   0           conv2d_194[0][0]                 
__________________________________________________________________________________________________
concatenate_210 (Concatenate)   (None, 64, 64, 64)   0           add_42[0][0]                     
                                                                 activation_113[0][0]             
__________________________________________________________________________________________________
concatenate_211 (Concatenate)   (None, 64, 64, 128)  0           concatenate_209[0][0]            
                                                                 concatenate_210[0][0]            
__________________________________________________________________________________________________
conv2d_195 (Conv2D)             (None, 64, 64, 32)   65568       concatenate_211[0][0]            
__________________________________________________________________________________________________
activation_114 (Activation)     (None, 64, 64, 32)   0           conv2d_195[0][0]                 
__________________________________________________________________________________________________
concatenate_212 (Concatenate)   (None, 64, 64, 64)   0           add_42[0][0]                     
                                                                 activation_114[0][0]             
__________________________________________________________________________________________________
concatenate_213 (Concatenate)   (None, 64, 64, 128)  0           concatenate_209[0][0]            
                                                                 concatenate_212[0][0]            
__________________________________________________________________________________________________
concatenate_214 (Concatenate)   (None, 64, 64, 256)  0           concatenate_211[0][0]            
                                                                 concatenate_213[0][0]            
__________________________________________________________________________________________________
conv2d_196 (Conv2D)             (None, 64, 64, 32)   8224        concatenate_214[0][0]            
__________________________________________________________________________________________________
add_43 (Add)                    (None, 64, 64, 32)   0           add_42[0][0]                     
                                                                 conv2d_196[0][0]                 
__________________________________________________________________________________________________
concatenate_215 (Concatenate)   (None, 64, 64, 96)   0           add_41[0][0]                     
                                                                 add_42[0][0]                     
                                                                 add_43[0][0]                     
__________________________________________________________________________________________________
conv2d_197 (Conv2D)             (None, 64, 64, 64)   6208        concatenate_215[0][0]            
__________________________________________________________________________________________________
conv2d_198 (Conv2D)             (None, 64, 64, 64)   65600       conv2d_197[0][0]                 
__________________________________________________________________________________________________
add_44 (Add)                    (None, 64, 64, 64)   0           conv2d_198[0][0]                 
                                                                 conv2d_183[0][0]                 
__________________________________________________________________________________________________
conv2d_199 (Conv2D)             (None, 64, 64, 64)   65600       add_44[0][0]                     
__________________________________________________________________________________________________
activation_115 (Activation)     (None, 64, 64, 64)   0           conv2d_199[0][0]                 
__________________________________________________________________________________________________
conv2d_200 (Conv2D)             (None, 64, 64, 32)   32800       activation_115[0][0]             
__________________________________________________________________________________________________
activation_116 (Activation)     (None, 64, 64, 32)   0           conv2d_200[0][0]                 
__________________________________________________________________________________________________
conv2d_201 (Conv2D)             (None, 64, 64, 12)   6156        activation_116[0][0]             
__________________________________________________________________________________________________
up_sampling2d_3 (UpSampling2D)  (None, 128, 128, 12) 0           conv2d_201[0][0]                 
__________________________________________________________________________________________________
sr (Conv2D)                     (None, 128, 128, 3)  579         up_sampling2d_3[0][0]            
==================================================================================================
Total params: 581,903
Trainable params: 581,903
Non-trainable params: 0
__________________________________________________________________________________________________

如果我们再次查看错误信息:

ValueError: Dimensions must be equal, but are 128 and 64 for '{{node mean_squared_error/SquaredDifference}} = SquaredDifference[T=DT_FLOAT](model_10/sr/BiasAdd, IteratorGetNext:1)' with input shapes: [32,128,128,3], [32,64,64,3].

We'll realize that it's not saying that the input and output shape of your model must be same, but it says you are passing incorrect label(target) size to the model loss function (mean_squared_error). 因为 model 的 output 形状是 (128, 128, 3),但是您传递的目标数据的形状是 (64, 64, 3)。 实际上,您的问题不在提供的 model 架构中,而是在您传递数据的 model.train_on_batch() 部分中。 也许你错误地传递了 x 数据而不是 y 作为目标数据?

因此,要解决此问题,您应该将正确的 y 数据(形状为 (128, 128, 3))传递给 model。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM