簡單的說,你是不是遇到了這樣的問題,上一層的數據是【None,200,14,14】
你希望上採樣到28x28
H = UpSampling2D(size=(2, 2))(H)
你以爲能得到【None,200,28,28】
結果卻成了【None,400,28,14】
維度上的錯位問題,需要一個參數來解決,我看別的帖子都沒有,在官方文檔裏找到了解決辦法。
UpSampling2D,有個參數叫data_format
data_format默認參數是'channels_last',默認最後的維數是channels
當設置data_format='channels_first',就是說channels在前面,那麼上採樣的維數就對了。
也就是說 H = UpSampling2D(size=(2, 2), data_format='channels_first')(H)這樣用就可以了昂~~
你就能得到【None,200,28,28】
與此相同的,Convolution2D裏也可以這樣用。