小编Kev*_*vin的帖子

在Python中是否有与MATLAB函数bsxfun等效的东西?

我试图将我的一些代码从matlab移植到python,其中一些使用bsxfun()函数进行虚拟复制,然后进行乘法或除法(我也将它用于逻辑运算).我希望能够在没有实际复制矢量(使用函数或使用某种对角矩阵)之前执行此操作,然后再进行乘法或除法以节省内存和时间.

如果某个C库中存在等效的bsxfun,那当然也可以.

c python matlab bsxfun

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

如何在python numpy中并行化和计算?

我有一个总和,我正在尝试计算,我很难并行化代码.我试图并行化的计算有点复杂(它使用numpy数组和scipy稀疏矩阵).它吐出一个numpy数组,我想从大约1000个计算中求和输出数组.理想情况下,我会在所有迭代中保持运行总和.但是,我还没弄清楚如何做到这一点.

到目前为止,我已经尝试使用joblib的Parallel函数和pool.map函数与python的多处理包.对于这两个,我使用一个返回numpy数组的内部函数.这些函数返回一个列表,我将其转换为numpy数组,然后求和.

但是,在joblib并行函数完成所有迭代后,主程序永远不会继续运行(看起来原始作业处于挂起状态,使用0%CPU).当我使用pool.map时,在所有迭代完成后我得到内存错误.

有没有办法简单地并行化运行的数组总和?

编辑:目标是做以下的事情,除了并行.

def summers(num_iters):

    sumArr = np.zeros((1,512*512)) #initialize sum
    for index in range(num_iters):
        sumArr = sumArr + computation(index) #computation returns a 1 x 512^2 numpy array

    return sumArr
Run Code Online (Sandbox Code Playgroud)

python parallel-processing numpy sum scipy

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

标签 统计

python ×2

bsxfun ×1

c ×1

matlab ×1

numpy ×1

parallel-processing ×1

scipy ×1

sum ×1