Python 两个for循环的优化
我正在尝试优化以下代码:Python 两个for循环的优化,python,numpy,optimization,Python,Numpy,Optimization,我正在尝试优化以下代码: error1 = 0 for point1 in p1: min_dist = 1000000000 for point2 in p2: min_dist = min(min_dist, l2(point1, point2)) error1 += min_dist 而p1、p2是2D点的阵列([x,y]) l2是:np.linalg.norm(np.array(p1)-np.array(p
error1 = 0
for point1 in p1:
min_dist = 1000000000
for point2 in p2:
min_dist = min(min_dist, l2(point1, point2))
error1 += min_dist
而p1、p2是2D点的阵列([x,y])
l2是:np.linalg.norm(np.array(p1)-np.array(p2))假设p1有N个点,p2有M个点
import numpy as np
pt1 = np.array(p1) # NxD, here D=2
pt2 = np.array(p2) # MxD
d = pt1[:, None, :] - pt2[None, :, :] # pairwise subtraction, NxMxD
d = np.sum(d**2, axis=2).min(axis=1) # min square distance, N
error1 = np.sqrt(d).sum() # output, scalar
假设p1有N个点,p2有M个点
import numpy as np
pt1 = np.array(p1) # NxD, here D=2
pt2 = np.array(p2) # MxD
d = pt1[:, None, :] - pt2[None, :, :] # pairwise subtraction, NxMxD
d = np.sum(d**2, axis=2).min(axis=1) # min square distance, N
error1 = np.sqrt(d).sum() # output, scalar
你好请您提供一个可复制的示例(包括一些输入和输出),以便愿意提供帮助的人可以尝试easierHi!请您提供一个可复制的示例(包括一些输入和输出),以便愿意提供帮助的人可以更轻松地尝试