python - Matlab 在 Python 中的 Parfor 与 ProcessPoolExecutor(多维数组的问题)
问题描述
如果这个问题可能很简单,我很抱歉,我是在 Python 中使用并行性的新手......我需要使用 Python 的 ProcessPoolExecutor 实现以下 parfor 循环:
parfor i=1:numPointsEval
ftemp_pte(:,i) = feval(func_F,pointsToEval(:,i));
我已经设法在 Python 中实现了一个顺序版本,如下所示:
def func_F(x):
f= np.zeros((1,2))
f[0,0]= x[0,0]
n= max(np.size(x,0), np.size(x,1))
g = 1 + 9* np.sum(x[1:n])/(n-1)
h = 1 - np.sqrt(f[0,0]/g)
f[0,1] = g * h
F= np.transpose(f)
return F
for i in range(0, numPointsEval):
ftemp_pte[:,i] = np.hstack(func_F(np.vstack(pointsToEval[:,i])))
我使用 ProcessPoolExecutor 的主要问题主要与ftemp_pte
作为一个逐行填充的二维数组有关,而且我似乎需要使用说明hstack
并vstack
确保生成的数组的维度是兼容的填充的行ftemp_pte
任何帮助将不胜感激。
解决方案
推荐阅读
- docusignapi - DocuSign JWT 授权流程给出“invalid_grant”错误
- entity-framework - 实体框架超时未触发
- powerbi - 如何在power-bi中将过滤器窗格从右侧移动到左侧?
- verilog - 如何按索引访问打包结构中的元素?
- php - php配置文件用户名显示在web url上
- python - 如何在python中使用input()函数提取csv数据
- scala - 使用 State Monad 实现存储库(同时使用 IO 和 State)
- javascript - PopupCenter 打开的按钮不回发
- java - 注入的 Bean 在抽象类中为空
- c# - 将 EPOS 转换为 ESC/POS c#