为了账号安全,请及时绑定邮箱和手机立即绑定

并行化 NumPy 中的伪逆计算

并行化 NumPy 中的伪逆计算

ABOUTYOU 2022-11-29 15:24:53
有没有办法在 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)



查看完整回答
反对 回复 2022-11-29
  • 1 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信