在python3中使用多处理时如何解决“ValueError:太多fds”?

时间:2018-06-11 09:10:11

标签: python python-multiprocessing

我必须计算一个大约500000 * 20数据的大距离矩阵作为torch.tensor。所以我使用了torch.multiprocessing并设置了context('forkserver')。详细地说,我使用Manager来构建一个dict,并切割批量大小为2500的数据,所以我得到了一组200个张量的dict'数据',键为0~199,得到200 * 201 / 2 =(0,0)到(199,199)的(i,j)的20100元组。然后我使用多处理创建4个进程来计算data [i]和data [j]之间的距离矩阵。但它会引发错误"ValueError: too many fds"

似乎在if len(fds) + 4 >= MAXFDS_TO_SEND时,会出现此错误,但我不太确定fds的确切含义是什么。那么如果我不让MAXFDS_TO_SEND更大,我怎么能解决这个问题?

0 个答案:

没有答案