Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Conv自动编码器层进程_Python_Tensorflow_Keras_Conv Neural Network_Autoencoder - Fatal编程技术网

Python Conv自动编码器层进程

Python Conv自动编码器层进程,python,tensorflow,keras,conv-neural-network,autoencoder,Python,Tensorflow,Keras,Conv Neural Network,Autoencoder,我打算设置一个简单的卷积自动编码器: 图层(类型)输出形状参数# 输入(InputLayer)(无、64、64、1)0 编码器_conv_1(Conv2D)(无、64、64、32)320 最大池2D_1(最大池2(无、32、32、32)0 解码器conv_1(Conv2D)(无、30、30、32)9248 上采样2D上采样1(上采样2(无、60、60、32)0 输出(Conv2D)(无、60、60、1)289 为什么我的最后一层没有返回到64、64、1?或者更确切地说,为什么解码器转换

我打算设置一个简单的卷积自动编码器:

图层(类型)输出形状参数# 输入(InputLayer)(无、64、64、1)0


编码器_conv_1(Conv2D)(无、64、64、32)320


最大池2D_1(最大池2(无、32、32、32)0


解码器conv_1(Conv2D)(无、30、30、32)9248


上采样2D上采样1(上采样2(无、60、60、32)0


输出(Conv2D)(无、60、60、1)289
为什么我的最后一层没有返回到64、64、1?或者更确切地说,为什么解码器转换1层将返回到30、30、32?

您错过了相同的填充。请尝试以这种方式

inp = Input((64,64,1))
c = Conv2D(32, 3, padding='same')(inp)
c = MaxPool2D()(c)
c = Conv2D(32, 3, padding='same')(c) # <=== padding same
c = UpSampling2D()(c)
out = Conv2D(1, 3, padding='same')(c)

m = Model(inp, out)
m.summary()

_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
input_5 (InputLayer)         [(None, 64, 64, 1)]       0         
_________________________________________________________________
conv2d_8 (Conv2D)            (None, 64, 64, 32)        320       
_________________________________________________________________
max_pooling2d_3 (MaxPooling2 (None, 32, 32, 32)        0         
_________________________________________________________________
conv2d_9 (Conv2D)            (None, 32, 32, 32)        9248      
_________________________________________________________________
up_sampling2d_2 (UpSampling2 (None, 64, 64, 32)        0         
_________________________________________________________________
conv2d_10 (Conv2D)           (None, 64, 64, 1)         289       
=================================================================
inp=输入((64,64,1))
c=Conv2D(32,3,padding='same')(inp)
c=MaxPool2D()(c)

c=Conv2D(32,3,padding='same')(c)#这就解决了问题。我不知道为什么最后一层缺少padding属性。谢谢。