问题标签 [max-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 投票
1 回答
60 浏览

python - 什么是 b、y、x 和 c,它们与 tf.nn.max_pool_with_argmax 中的最大池化特征一起被展平并返回?

我浏览了tf.nn.max_pool_with_argmax的文档

对输入执行最大池化并输出最大值和索引。

argmax 中的索引被展平,因此位置 [b, y, x, c] 处的最大值变为展平索引 ((b * height + y) * width + x) * channels + c。

返回的索引在展平之前总是在 [0, height) x [0, width) 中,即使涉及填充并且数学上正确的答案在外面(负数或太大)。这是一个错误,但很难以安全的向后兼容方式修复它,尤其是由于扁平化。

变量 b、y、x 和 c 尚未明确定义,因此我在实现此方法时遇到问题。有人可以提供相同的吗。

0 投票
1 回答
49 浏览

deep-learning - E-net 深度学习架构

该研究论文可在以下链接中找到:

https://arxiv.org/pdf/1606.02147.pdf

无法理解 Enet 架构的初始块。

在第 3 页的研究论文中给出的声明:

ENet 初始块。MaxPooling 是用非重叠的 2×2 窗口进行的,卷积有 13 个过滤器,串联后总计 16 个特征图。 网络的初始块

所以问题是,我们如何在连接后得到 16 个过滤器?

0 投票
1 回答
1155 浏览

python-3.x - 如何选择keras密集层的前k个元素?

我正在尝试执行 ak-max pooling以选择top-k具有 shape 的密集元素(None, 30)。我尝试了一个MaxPooling1D层,但它不起作用,因为 keras 池化层至少需要一个 2d 输入形状。我正在使用以下Lambda图层,但出现以下错误:

错误:文件“/usr/local/lib/python3.5/dist-packages/keras/engine/base_layer.py”,第 474 行,调用 output_shape = self.compute_output_shape(input_shape) 文件“/usr/local/lib/ python3.5/dist-packages/keras/layers/core.py”,第 652 行,在 compute_output_shape 返回 K.int_shape(x) 文件“/usr/local/lib/python3.5/dist-packages/keras/backend/ tensorflow_backend.py",第 591 行,在 int_shape 返回元组(x.get_shape().as_list()) AttributeError:'TopKV2' 对象没有属性 'get_shape'

0 投票
1 回答
188 浏览

tensorflow - 预期 conv2d_7 的形状为 (220, 220, 1) 但得到的数组形状为 (224, 224, 1)

我正在按照 keras 博客(https://blog.keras.io/building-autoencoders-in-keras.html)的教程来构建一个自动编码器。

我使用了自己的数据集,并且在 224*224 大小的图像上使用了以下代码。

当我看到自动编码器的摘要时,它给出的输出使得最后一层有 220 x 220。我附上了该摘要的快照。

我不明白的是它是如何从 112*112 转换为 110*110 的。我期待 conv2d_6 (Conv2D) 给我 112*112 和 16 个内核。

在此处输入图像描述

如果我删除 Conv2D_6 层,那么它将起作用。但我想拥有它,否则我将进行两次 UpSampling。我不明白出了什么问题。

有人可以指导我吗?

0 投票
1 回答
408 浏览

numpy - maxpooling 结果未显示在 model.summary() 输出中

我是 Keras 的初学者。我正在尝试建立一个我正在使用顺序模型的模型。当我试图通过使用 maxpooling 函数将输入大小从 28 减少到 14 或更少时,maxpooling 函数结果不会在调用 model.summary() 函数时显示。我希望在训练后达到 0.99 或更高的准确度,即调用 model.score() 时,准确度结果应为 0.99 或更高。到目前为止的模型构建我的我可以在这里看到

输出 -

我使用的批量大小是 32,时期数是 10。

训练后的输出 -

0 投票
1 回答
2297 浏览

keras - Error when checking target: expected dense to have shape (1,) but got array with shape (15662,) maxpooling as a first layer

I'm trying to use maxpooling as a first layer using keras and I have a problem with the input and output dimensions.

After running the model, I get the following error:

ValueError: Error when checking target: expected dense_622 (last layer) to have shape (1,) but got array with shape (15662,)

I'm doing classification and my target is binary (0,1) Thank you

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 投票
2 回答
3025 浏览

tensorflow - 自定义池化层 - minmax pooling - Keras - Tensorflow

我想定义我的自定义池层,而不是像 MaxPooling 层那样返回最大值,它会输出 k 个最大值和 k 个最小值。

我使用 Tensorflow 作为后端。我需要对输出向量进行排序。

我正在考虑这样做:

但后来我得到:

MinMaxPooling1D 层应用于 (None, 1, 10) 形状输出。

然后我正在考虑在 MinMaxPooling1D 之前添加一个 Flatten 层,但是有一个尺寸问题:

0 投票
1 回答
2896 浏览

conv-neural-network - 在 pytorch 中汇集通道

在张量流中,我可以在深度维度上进行池化,这将减少通道并保持空间维度不变。我试图在 pytorch 中做同样的事情,但文档似乎说池只能在高度和宽度尺寸上完成。有没有办法可以在 pytorch 中汇集频道?我有一个形状张量,[1,512,50,50]我正在尝试使用池化将通道数减少到 3。我看到了这个问题,但没有找到有用的答案。

0 投票
0 回答
93 浏览

deep-learning - 是否可以对两个矩阵进行最大池化并将其更改为单个矩阵?

我可以使用最大池化层将两个 3x3 矩阵转换为一个 3x3 矩阵吗?

例如,让我们采用 2 个矩阵:

矩阵 1

矩阵 2

使用 maxpool(dim = (2,2), stride =1)