小编the*_*hem的帖子

如何实现 maxpool:在图像或张量上的滑动窗口上取最大值

简而言之:我正在寻找一个简单的numpy(也许是单行的)实现Maxpool- 窗口上numpy.narray跨维度的所有位置的最大窗口。

更详细地说:我正在实现一个卷积神经网络(“CNN”),此类网络中的典型层之一是MaxPool层(例如此处)。写 y = MaxPool(x, S)x是一个输入narrayS是一个参数,使用伪代码,其输出MaxPool由下式给出:

     y[b,h,w,c] = max(x[b, s*h + i, s*w + j, c]) over i = 0,..., S-1; j = 0,...,S-1.
Run Code Online (Sandbox Code Playgroud)

也就是说,y如果narray索引处的值等于沿着输入的第二维和第三维大小的b,h,w,c窗口所取的最大值,则窗口“角”被放置在索引处。S x Sxb,h,w,c

一些其他细节:网络是使用numpy. CNN 有许多“层”,其中一层的输出是下一层的输入。层的输入numpy.narray称为“张量”。就我而言,张量是 4 维的numpy.narrayx。那x.shape是一个元组(B,H,W,C)。张量经过一层处理后,每个维度的大小都会发生变化,例如层的输入i= 4可以具有大小B …

python numpy neural-network conv-neural-network array-broadcasting

4
推荐指数
1
解决办法
6151
查看次数

Matplotlib:颜色混合或如何预处理颜色以抵消透明度

简而言之:我matplotlib用来绘制散点图和曲面。我遇到了一个问题,因此表面总是绘制在点的顶部而不是应该的后面。

我想通过预处理点的颜色来解决这个问题,这样当被表面覆盖时,我会获得“原始颜色”,这样表面就会出现在点的后面。我color使用HEX值指定点。

我遇到的曲面和点的问题类似于这里描述的问题。


以下是详细信息:

我在 Matplotlib 中有一个蓝色和红色点的 3D 散点图:

self.subplot_3d = self.subplot.scatter(x_red, y_red, z_red, s = 150, c = RED,  depthshade = False, lw = 0, alpha = 1)
self.subplot_3d = self.subplot.scatter(x_blue, y_blue, z_blue, s = 150, c = BLUE,  depthshade = False, lw = 0, alpha = 1)
Run Code Online (Sandbox Code Playgroud)

点是线性可分的 - 存在一个分离平面,将红点和蓝点分开。我绘制平原使用

self.plane = self.subplot.plot_surface(X, Y, Z, antialiased = True, color = RED_BACKGROUND, alpha = 0.5)
Run Code Online (Sandbox Code Playgroud)

我想画两个图:在第一个中,没有单独绘制的平面 - 只有红色和蓝色点(左)。在第二个中有一个分离平面(右)。

在此处输入图片说明 在此处输入图片说明

绘制分离平面后,我无法强制将平面绘制在红点和蓝点之间(正如平面方程和点的位置所预期的那样)平面总是出现在所有点的顶部。

我正在考虑的解决方案如下: …

python color-scheme colors matplotlib

1
推荐指数
1
解决办法
1654
查看次数

拟合正弦函数的神经网络玩具模型失败,怎么了?

刚接触Keras神经网络的研究生正试图将一个非常简单的前馈神经网络拟合到一维正弦波上

以下是我可以获得的最合适的三个示例。在图中,您可以看到网络的输出与地面真相的对比

神经网络输出与地面真相(运行3)

神经网络输出与地面真相(运行1)
神经网络输出与地面真相(运行2)

完整的代码(仅几行)在此处示例中发布Keras


我正在使用多个层,不同的激活函数,不同的初始化和不同的损失函数,批处理大小,训练样本数量。除上述示例外,似乎没有一个能够改善结果。

我将不胜感激任何意见和建议。正弦是神经网络拟合的硬函数吗?我怀疑答案不是,所以我一定做错了...


从5年前开始,这里有一个类似的问题,但是那里的OP没有提供代码,并且仍然不清楚发生了什么问题或他如何解决此问题。

python machine-learning neural-network deep-learning keras

1
推荐指数
1
解决办法
1223
查看次数