tensorflow - Conv2d 如何在不同的输入维度和过滤器维度下工作?
问题描述
我想知道 TensorFlow conv2d 如何在不同的输入维度和过滤器维度下工作。例如,Conv2d 层的输入形状为 [1, 13, 13, 10],过滤器形状为 [20, 3, 3, 10](将使用 20 个 3x3 过滤器,无 pedding))。
在这种情况下,过滤器是如何工作的?据我了解,20 个过滤器对 10 个输入进行点积。
(第一个过滤器对每 10 个输入进行点积,下一个过滤器也这样做,,)因此输出形状可以是 [1, 11, 11, 20]。
我对吗?
解决方案
假设您有输入 [b,w,h,c],并且您的内核为 [N,w,h](如您在示例中介绍的那样,没有内核通道,这些通道可以看作是内核的总数)。那么您的逻辑是正确的,每个过滤器将计算每个通道的点积并对每个通道的结果求和,因此对于每个内核,您将获得一个输出,从而产生 20 个 11x11 的通道(由于缺少填充)= [11x11x20]。
推荐阅读
- javascript - 使用javascript通过类名更改html元素的值
- r - 在函数中使用 group_by
- r - 如何遍历 R 中单个 shapefile 中的多个重叠多边形以获取每个多边形的区域统计信息?
- javascript - 从对象数组中删除传递的对象数组
- java - 如何模拟 ResponseEntity
- c# - foreach 中的异常“等待”查询完成
- java - E/AndroidRuntime:致命例外:请主要
- node.js - Azure Devops VSTS 使用不同版本的 Node 构建代理
- python - 绘制 pandas 列的直方图
- json - 如果我已经从 API 调用 (flutter/dart) 进行了 Json 反序列化,如何从 Firebase Cloud Firestore 反序列化数组