我有一个倒角匹配的工作实现,一个包含 10,000 个 666x500p RGB 图像的庞大数组和一个模板。我正在寻找所有这些图像的距离,并且我需要运行时间低于 1 秒。
我尝试使用joblib
with Parallel()
,但出现MemoryError
异常。
def update_distances(predictions,obs_img,chamfer):
distances = []
size = predictions.shape[0]
nprocs = 10 # number of processes
def process_image(img): # function to be applied on all images
return chamfer.chamferDistance_Compare(img,obs_img)
# run `process_image()` in parallel
distances.extend(Parallel(n_jobs=nprocs)(delayed(process_image)(predictions[idx]) for idx in range(size)))
return distances
有什么建议吗?在 1 秒内执行此操作的目标是否可能?
一次调用 chamferDistance_Compare 的执行时间约为 1 毫秒。
目标机器是Nvidia 的 Jetson Nano