问题标签 [spatial-pooling]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1911 浏览

tensorflow - 最大池和平均池的混合

在使用 Keras(使用 TensorFlow 后端)调整深度卷积网络时,我想尝试在 和 之间进行混合MaxPooling2DAveragePooling2D因为这两种策略似乎都改善了关于我的目标的两个不同方面。

我正在考虑这样的事情:

或者作为一个等式:

既然这样的东西看起来不是现成的,那如何才能有效地实施呢?

0 投票
3 回答
4622 浏览

conv-neural-network - 如何在 PyTorch 中执行 sum pooling

如何在 PyTorch 中执行 sum pooling。具体来说,如果我们有输入(N, C, W_in, H_in)并希望(N, C, W_out, H_out)使用特定的输出kernel_sizestride就像nn.Maxpool2d

0 投票
1 回答
4911 浏览

tensorflow - 如何将 pytorch Adaptive_avg_pool2d 方法转换为 keras 或 tensorflow

我不知道如何将 PyTorch 方法转换为 Kerasadaptive_avg_pool2d或 TensorFlow。任何人都可以帮忙吗?PyTorch 方法是

我尝试使用平均池化,重塑 Keras 中的张量,但得到了错误:

ValueError:新数组的总大小必须保持不变

0 投票
2 回答
351 浏览

python - 如何在高维中做tensorflow segment_max

我希望能够在大小为 [N, s, K] 的数据张量上调用 tensorflow 的 tf.math.unsorted_segment_max。N 是通道数,K 是过滤器/特征图的数量。s 是单通道数据样本的大小。我有 s 大小的 segment_ids。例如,假设我的样本大小是 s=6,并且我想对两个元素进行最大处理(就像进行通常的最大池化一样,所以在第二个,整个数据张量的 s 维)。然后我的 segment_ids 等于 [0,0,1,1,2,2]。

我试着跑步

segment_ids 具有扩展的 0 和 2 维,但由于段 id 然后重复,结果当然是大小 [3] 而不是我想要的 [N,3,K]。

所以我的问题是,如何构造一个合适的 segment_ids 张量,来实现我想要的?即根据原始 s 大小的 segment_ids 张量完成最大段,但在每个维度中分别?

基本上,回到这个例子,给定一维段 id 列表 seg_id=[0,0,1,1,2,2],我想构造一个类似于 segment_ids 张量的东西:

因此,当使用此张量作为段 id 调用 tf.math.(unsorted_)segment_max 时,我将得到大小为 [N, 3, K] 的结果,其效果与对每个数据运行 segment_max 的效果相同[ x,:,y] 分别并适当地堆叠结果。

这样做的任何方式都可以,只要它适用于 tensorflow。我猜想 tf.tile、tf.reshape 或 tf.concat 的组合应该可以解决问题,但我不知道如何,以什么顺序。另外,有没有更直接的方法呢?不需要在每个“池化”步骤中调整 segment_ids?

0 投票
1 回答
44 浏览

r - 基于空间网格内调查位置的空间位置汇集信息

我需要在占用框架内使用相机陷阱数据运行栖息地使用分析。我有几个相机位置(调查点),在 13 年的时间里反复调查。对于占用分析,我需要有一个样本网格和每个网格单元的检测/未检测信息(即检测历史记录)。我将在 camtrapR 中创建这个检测历史文件,但我需要汇集我的数据,所以我有一个文件,其中包含的信息不是我现在拥有的每个相机陷阱站,而是每个网格单元。

问题是,对于某些网格单元,我有多个摄像头,如果它们属于同一研究年份,我需要将位于同一网格单元内的所有摄像头汇集在一起​​,同时跟踪 ID 和摄像头总数为每个网格汇集在一起​​​​(因为网格内的更多相机可能会导致对物种的更高检测)。

我目前拥有: 1) 文件“camtrap_ca”,行中包含摄像机站 ID,列中包含 xy 坐标、调查的开始和结束日期。2) 文件“recordtable”,每行包含研究物种存在的每条记录,列中包含每条存在记录的相关日期、位置和相机 ID。3) 网格:栅格文件,每个单元格都有一个关联的连续编号。

我想做的事:

1)在我的相机陷阱位置(这是我的 GIS 数据的空间分辨率)上覆盖一个 926.6254m2 网格单元分辨率的栅格。我选择了栅格而不是多边形网格,因为我的研究区域为 523,780 平方公里,并且在 R 中创建如此大的多边形网格太慢了。

2)在我的“camtrap_ca”文件中汇集/折叠所有相机陷阱的信息,这些信息在同一年的研究中与一个记录(行)位于同一网格单元格中,同时添加一个存储有多少相机的新字段为每个网格单元汇集在一起​​(因为物种的检测将随着每个网格单元的摄像机数量增加而增加),以及汇集摄像机的 id。

我能找到的最接近的线程是:https ://gis.stackexchange.com/questions/48416/aggregating-points-to-grid-using-r和Counting species occur in a grid但是,它们并不完全是什么我需要。

相机陷阱位置和操作日期

# 物种记录、地点、记录日期和年份

用作合并数据的参考网格的栅格

最终产品:我拥有相同的“camtrap_ca”文件,但行表示的不是我现在拥有的每个相机陷阱编号的数据,而是栅格的每个 926.6254m2 网格单元,并且在列中是调查的开始和结束日期,汇集在一起​​的摄像机总数(如果有),在另一列中是汇集在每个网格单元中的摄像机的 ID。这意味着我不仅需要合并摄像机并记录它们所在的网格单元,而且如果摄像机合并在一起,则每个网格的开始和结束日期也必​​须更新。最后,将每个网格单元编号连接到“记录表”文件中的每个摄像机 ID (station_code)。

如果有人可以帮助我构建代码来做到这一点,我将非常感激!

0 投票
1 回答
45 浏览

tensorflow - 未知形状张量流中的空间金字塔池化

我想在张量流中执行空间金字塔池化。那里已经回答了这个问题(以及 Stackoverflow.com 中的其他问题),但建议的解决方案不适用于未知的输入形状。

是否有在图形定义中处理未知形状的实现?