在利用python的ray框架进行并行计算时,需要将dictionary进行分割为不同的小块,问题也如题所述,方案主要引用Stackoverflow
原文链接中也给出了其他多种解决方案,这里用其中一种。
- 转化为numpy的array, 利用numpy进行分离:
import numpy as np
chunk_size = 3
chunked_data = [[k, v] for k, v in d.items()]
chunked_data = np.array_split(chunked_data, chunk_size)
- 使用时,可以如下获取:
for chunk in chunked_data:
for key, value in chunk:
print(key)
print(value)