问题标签 [array-broadcasting]

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 回答
50 浏览

python - 在 numpy 数组中加权平面的最佳方法是什么?

我有以下代码,其中 w 是兼容维度的 1D numpy 数组,M 是 4D 数组,

有没有更好的方法来达到同样的效果?

0 投票
3 回答
6287 浏览

python - 使用 == 比较 numpy 数组的规则是什么?

例如,试图理解这些结果:

这里发生了什么?在 [1] 的情况下,它将 1 与 x 的每个元素进行比较,并将结果聚合到一个数组中。在 [[1]] 的情况下,同样的事情。只需在 repl 上进行试验,就很容易弄清楚特定数组形状会发生什么。但是双方可以有任意形状的基本规则是什么?

0 投票
1 回答
36 浏览

python - 计算多个输入的矩阵乘积

我正在尝试计算由 b = A*x 给出的变换。A 是 (3,4) 矩阵。如果 x 是一个 (4,1) 向量,则结果是 b (3,1)。

相反,对于 x,我将一堆向量连接成一个矩阵,并且我试图评估 x 的每个值的变换。所以 x 是 (20, 4)。如何在 numpy 中广播它,以便我得到 b (20,3) 的 20 个结果值?

我可以遍历每个输入并计算输出,但感觉必须有更好的使用广播的方法。

例如。

如果 x 是:

x 的每一行都与 A 相乘,结果作为一行存储在 b 中。

0 投票
1 回答
91 浏览

python - Python numpy ValueError 当我加载图像数据并将其传输到数组时

我找不到解决方案。我的图像形状是 128*128*3,它有三个通道,但也会导致错误

文件“E:/ML/keras_test/vgg.py”,第 30 行,在 load_data data[i,:,:,:] = arr

ValueError:无法将输入数组从形状(128,128)广播到形状(128,128,3)

我的代码如下:

0 投票
3 回答
2864 浏览

python - NumPy 广播:计算两个数组之间的平方差之和

我有以下代码。它在 Python 中一直存在。必须有一种方法可以将此计算转换为广播...

0 投票
1 回答
496 浏览

python - 为什么 numpy.broadcast “转置” vstack 和类似函数的结果?

观察:

同样 forcolumn_stackrow_stack(hstack在这种情况下表现不同,但与广播一起使用时也不同)。为什么?

我追求这背后的逻辑,而不是找到一种“修复”这种行为的方法(我对此很好,只是不直观)。

0 投票
1 回答
40 浏览

python - NumPy广播:在(M,A,B,N)形状数组中的元素(a,b)中添加一个ndarray

我有一个带有 rgb 像素的图像数组,所以该数组有维度(image_count,height,width,3)

我正在通过我在侧面计算的随机量调整单个像素,形状为:(image_count,3)

现在,我有一个解释循环来为单个像素添加调整。


如何广播此添加,以便对每个像素执行以下操作:

0 投票
0 回答
47 浏览

numpy - 如何改善 numpy 的广播

我正在尝试使用 numpy 在 python 中实现具有 Mahalanobis 距离的 k-NN。但是,当我使用广播时,下面的代码运行非常缓慢。请教我如何提高 numpy 速度或更好地实现这一点。

0 投票
2 回答
183 浏览

numpy - `np.dot` 在剩余轴上没有笛卡尔积

根据文档

对于 N 维,是 的最后一个轴和 的倒数第二个dot轴的和积:ab

我想计算最后一个轴a和倒数第二个轴上的和积,b但没有在其余轴上形成笛卡尔积,因为其余轴具有相同的形状。让我用一个例子来说明:

但我希望形状是(11, 12, 13). 使用广播可以达到预期的效果

但是我的数组相对较大,我想使用并行化 BLAS 实现的强大功能,这些实现似乎np.sum不受np.dot. 关于如何实现这一目标的任何想法?

0 投票
1 回答
281 浏览

python - Repeating rows and columns in Python

I'm trying to make two 600x800 matrices (X and Y) that look like the following:
- X has 0 to 600 in every row
- Y has 800 to 0 in every column

My idea was to do something along these lines:

And from here, put N into every row in X, and put M[::-1] into every column in Y, but I'm not sure how to go about this.