gpt4 book ai didi

python - 改变最大值#of python 脚本中允许的同步 Actor

转载 作者:行者123 更新时间:2023-12-05 06:12:42 29 4
gpt4 key购买 nike

我有一个远程类(使用 ray API)

@ray.remote
class className
....

我想启动这个类的 60 个或更多实例,让它们同时做一些工作。

但是,我不能同时启动超过 50 个此类的实例。

我怎样才能改变最大。 python 脚本内部在任何给定时间允许的线程数?

最佳答案

我相信您需要使用自定义资源。我在下面放了一些感兴趣的链接:

这个想法是您首先为 ray.initresources 参数提供一个字典。字典的每个键都对应于您为自定义资源指定的名称。与键关联的值是该特定资源可用的最大资源数;无论您输入哪个值,您都可以将其视为代表 100%。放置与特定任务/参与者的执行相关的值通常是有帮助的。例如,在您的情况下,您希望同一类中的 50 个参与者同时执行,因此 50 个最合理。

ray.init(resources={'Custom': 50})

现在,resources 也是@ray.remote 的参数。它同样需要一本字典,相当于提供给 ray.init 的字典。假设您有类定义:

@ray.remote
class MyClass(object):
# Methods

您可以通过提供将与 ray.init 中定义的资源值进行比较的自定义资源值来限制此类并发执行的 Actors 数量。该值必须是整数,除非它小于 1;将 @ray.remote 中给定的值除以 ray.init 中的相应值,再乘以 100 即可得出每个任务/参与者需要的自定义资源的百分比.在你的例子中,你想设置 50 个 Actor 的限制,我们在 ray.init 中将 Custom 设置为 50。因此,如果每个 Actor 都要求 Custom 的值等于 1,则只能同时运行 50 个 Actor。

@ray.remote(resources={'Custom': 1})
class MyClass(object):
# Methods

现在这个类的 actors 不能超过 50 个并发执行。

关于python - 改变最大值#of python 脚本中允许的同步 Actor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63565570/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com