ray.util.ActorPool.map#
- ActorPool.map(fn: Callable[[ActorHandle, V], Any], values: List[V])[源代码]#
在执行者和值上并行应用给定的函数。
这将返回一个有序的迭代器,该迭代器将按完成顺序返回映射的结果。请注意,您必须遍历迭代器以强制计算完成。
- 参数:
fn – 接受 (actor, value) 作为参数并返回一个 ObjectRef 计算结果的函数。在 ObjectRef 完成之前,actor 将被视为忙碌。
values – fn(actor, value) 应应用的值列表。
- 返回:
对应用了 fn 的演员和值的结果进行迭代。
示例
import ray from ray.util.actor_pool import ActorPool @ray.remote class Actor: def double(self, v): return 2 * v a1, a2 = Actor.remote(), Actor.remote() pool = ActorPool([a1, a2]) print(list(pool.map(lambda a, v: a.double.remote(v), [1, 2, 3, 4])))
[2, 4, 6, 8]