有没有办法在 3D 矩阵的两个维度上并行计算矩阵运算……?例如,我想计算每个sig级别的(3x2) 矩阵的伪逆矩阵,G这样得到的矩阵将是 (2x3x5),其sig维度不包括在计算逆矩阵中;倒数仅适用于每个级别的row和col维度。sig理想情况下,我想以下面类似的方式实现这一点:G = xr.DataArray(np.random.rand(3,2,5), dims=['row','col','sig'])pinvG = xr.apply_ufunc(np.linalg.pinv, G.chunk({'sig':1}), output_core_dims=[['j','i']], # input_core_dims=[['sig'],['sig']],# exclude_dims={'sig','sig'}, dask='parallelized', output_dtypes=[float], output_sizes={'j':2,'i':3}).compute()
1 回答
慕的地6264312
TA贡献1817条经验 获得超6个赞
我能够通过使用来做我想做的事dask.array.map_blocks
:
pinvG = dsar.map_blocks(np.linalg.pinv,G.transpose('sig','row','col').chunk({'sig':1}).data)
添加回答
举报
0/150
提交
取消