卷积核如何将3通道的图像转化为多通道?最后一个参数是什么意思?

问题描述 投票:1回答:1

我训练了ResNet50V2模型,我想知道如何将时序从 3 渠道以 n 渠道。我的模型为

model.summary()
Model: "model_9"
__________________________________________________________________________________________________
Layer (type)                    Output Shape         Param #     Connected to                     
==================================================================================================
input_9 (InputLayer)            (None, 164, 164, 3)  0                                            
__________________________________________________________________________________________________
conv1_pad (ZeroPadding2D)       (None, 170, 170, 3)  0           input_9[0][0]                    
__________________________________________________________________________________________________
conv1_conv (Conv2D)             (None, 82, 82, 64)   9472        conv1_pad[0][0]                  
__________________________________________________________________________________________________
pool1_pad (ZeroPadding2D)       (None, 84, 84, 64)   0           conv1_conv[0][0]                 
__________________________________________________________________________________________________
...
...
...
...
...
...
post_relu (Activation)          (None, 6, 6, 2048)   0           post_bn[0][0]                    
__________________________________________________________________________________________________
flatten_9 (Flatten)             (None, 73728)        0           post_relu[0][0]                  
__________________________________________________________________________________________________
dense_9 (Dense)                 (None, 37)           2727973     flatten_9[0][0]                  
==================================================================================================
Total params: 26,292,773
Trainable params: 26,247,333
Non-trainable params: 45,440

第一个卷积层 "conv1_conv "有一个滤波器。

filters= layer.get_weights()[2]  #conv1_conv layer
print(layer.name, filters.shape)

输出。

conv1_conv (7, 7, 3, 64)

我不明白的是,卷积操作是如何使... (170,170,3) 张量转换为 (82,82,64) 张量。

什么是 64conv1_conv 表示?

python tensorflow keras deep-learning conv-neural-network
1个回答
1
投票

你可以把卷积想象成一个大小为7×7的滑动窗口,在图像上滑动。每个过滤器都需要一个图像的窗口,这里7×7×3个数字a使一个线性投影成一个数字。每个滤波器的线性投影需要7*7*3个参数,你有64个参数,因此卷积的形状是7×7×3×64。

卷积的另一个重要属性是 大步走:这是窗口移动的一个步骤。你的窗口大小为7,图像的宽度和高度为170,也就是说,滑动窗口需要通过170-7=163像素。如果你用跨步2来做,就意味着1632=81.5个窗口,四舍五入为82。每个窗口都会得到64个滤镜的投影,因此形状为82×82×64。

© www.soinside.com 2019 - 2024. All rights reserved.