当前位置: 首页 > 知识库问答 >
问题:

卷积核如何将具有3个通道的图像转换为多个通道?最后一个论点是什么意思?

范承望
2023-03-14

我训练了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)张量的卷积操作。

conv1\u conv中的64表示什么?

共有1个答案

仲孙温文
2023-03-14

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

卷积的另一个重要特性是步长:这是窗口移动的步长。窗口大小为7,图像的宽度和高度为170,即滑动窗口需要通过170-7=163像素。如果使用步幅2,则表示163/2=81.5个窗口,四舍五入为82。每个窗口都使用64个过滤器进行投影,因此形状为82×82×64。

 类似资料:
  • 问题内容: 我想将具有形状的灰度图像转换为具有形状的3通道图像。使用可以完成工作,但是必须有一个整洁的方法。这是程序中的一段代码,有人可以提示。请指教。 问题答案: 您可以使用它来更简洁地完成此操作:

  • 问题内容: 想法是在片中具有可变数量的通道,将通过通道接收的每个值推入单个通道,并在最后一个输入通道关闭后关闭该输出通道。这样的事情,但对于多个渠道来说,要超过两个: 上面的代码避免了繁忙的循环,因为没有任何情况,这是很好的(编辑:看起来,“,ok”的存在使select语句成为非阻塞状态,并且循环毕竟是繁忙的。但是出于示例的目的,就好像将代码阻止一样)。是否可以通过任意数量的输入通道来实现相同的功

  • 问题内容: 我设法用Jsch通过ssh执行了一条命令,但是当我尝试执行第二条命令时却失败了 为了调试,我将此问题归结为以下几行: 这主要是官方的Exec示例,但这给了我以下输出: 第一个命令成功执行,第二个则没有成功。 有任何想法吗 ? 问题答案: 嘿,jsch和Ubuntu完全一样。(如何)解决了?为每个执行执行新会话会浪费太多时间?此刻,我捕获了jsch异常并搜索“会话未关闭”,然后我重新连接

  • 我是新来的,想知道一些很基本的问题,我不能弄清楚。 为了发挥作用(对实际需要的抽象),我需要: 用常数固定的元素初始化字符串片断 遍历此切片并为每个元素运行一个goroutine 每个goroutine将花费一定的时间来处理元素(随机秒持续时间) 作业完成后,我希望goroutine将结果推送到一个通道 然后我需要捕获来自这个通道的所有结果(在一个从主goroutine调用的函数中),将它们附加到

  • 然而,我不明白如何扩展这个模型来处理多个通道。每个特征图是否需要三个独立的权重集,并在每种颜色之间共享? 参考本教程的“共享权重”部分:http://deeplearning.net/tutorial/lenet.html特征图中的每个神经元都引用层m-1,颜色是从单独的神经元引用的。我不明白他们在这里表达的关系。神经元是核还是像素?为什么它们引用图像的不同部分? 根据我的例子,一个神经元内核似乎

  • 问题内容: 我收到以下错误: 这是我的组件: 我在这里做错了什么? 问题答案: 由于您已经使用过,因此该组件将无法作为道具使用。由于您已经使用过,作业操作将作为道具提供,您可以像这样使用它们 但是您可以进一步简化它,例如