Ray 是否提供任何函数式/声明式接口来将远程函数映射到迭代器/可迭代器?

问题描述 投票:0回答:1

我现在的代码

#!/usr/bin/env python3
# encoding: utf-8
"""Demonstration of Ray parallelism"""
import ray
from typing import Iterator
ray.init()
@ray.remote
def square(n:int)->int:
    return n*n

references: Iterator[ray.ObjectRef] = map(lambda val: square.remote(val),
                                                    range(10))
ray.get([*references])
ray.shutdown()

基本上,只不过是由 Ray 驱动的

map(square, range(10))
的一种形式。

问题

对于这样一个标准且通用的模式,上面的操作显得过于冗长。那么 ray 是否提供任何 API 来公开更具声明性/功能性的接口来获得上述结果?除了地图之外,最好还提供某种过滤、减少等功能。

python concurrency functional-programming ray
1个回答
0
投票

Ray 确实提供了一种更方便、更实用的方法来将远程函数应用于可迭代对象。它提供 ray.data.from_items 以及 ray.data.from_items.map API。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.