【发布时间】:2022-08-03 06:15:37
【问题描述】:
我有一个使用 ray 的脚本,如下所示:
import ray
from PIL import Image
ray.init(
object_store_memory=1000 * 1024 * 1024 * 100,
ignore_reinit_error=True,
num_cpus=128,
num_gpus=1,
)
img_paths = np.array([200k image paths])
@ray.remote
def read_img(path):
img = np.asarray(Image.open(path))
return img
images = ray.get([read_img.remote(path) for img_path in img_paths[:10000]])
当我通过img_paths[:5000] 处理约 5000 张图像时,该程序在大约 5 秒内执行。当我将其提高到 ~10000 时,程序需要 4 分钟才能执行并给我如下消息:
(raylet) Spilled 132187 MiB, 12533 objects, write throughput 1052 MiB/s.
这是我第一次使用 ray,所以我不确定如何防止这种情况发生。
-
嗨,加文!为了及时回复,我建议您在Ray Discuss site 或Slack 中链接到此问题。雷人密切监视这些并可以回答!
标签: python python-3.x multiprocessing python-multiprocessing ray