【发布时间】:2021-05-31 18:59:09
【问题描述】:
我有一个如下所示的 numpy 数组:
array([[2, 3],
[4, 6],
[6, 6]])
我对自己在每一行之间进行点积运算很感兴趣。例如,假设我想在第一行加上自己:
ans = x[0,:] @ x[0,:].T
ans = 13
第二个:
ans = x[1,:] @ x[1,:].T
ans = 52
ans = x[2,:] @ x[2,:].T
and = 72
有没有办法在不使用numpy.apply_along_axis 的情况下对这个操作进行矢量化?期望的输出是
array([13, 52, 72])
不必是这个特定的操作。具体来说,我正在执行一个 SVM 实现,并且我有一些内核要在我的 m x d 特征矩阵上进行矢量化。我该怎么做?
【问题讨论】:
-
(x*x).sum(axis=1)是一种方式 -
x[0.:].T转置不会改变任何东西。试试看!
标签: python numpy vectorization