Ray编程:给新用户的小指南


AI Conference 北京站

AI Conference 2019 北京站6月18-21日即将开幕!


培训:大会推出「PyTorch 深度学习」两天培训课程,资深数据科学家主讲,限制人数,抢票从速!

编者注:文中超链接如果不能访问可以点击“阅读原文”访问本文原页面;本文作者将在北京人工智能大会上带来教学辅导课Building reinforcement learning models and AI applications with Ray。

Ray是一个用于在计算集群上编程的通用框架。 Ray使开发人员能够轻松地并行化他们的Python应用程序,构建新的应用,在任意大小规模的集群上(从笔记本电脑到大型集群)运行。 Ray提供了一个高度灵活,极简主义、易于使用的API。 表1 介绍了此API的核心功能。

在这篇博客中我们描述了几个小技巧,可以帮助首次使用Ray的用户避免一些可能严重影响其程序性能的常见错误。

API 描述 示例
ray.init() 初始化Ray执行上下文。
@ ray.remote 函数或类装饰器,指定 函数将作为不同进程中的任务执行,或者类作为不同进程中的actor定义。 @ray.remote        @ray.remote


def fun(x):           class Actor(object):

…                            def method(y)

.remote Postfix到每个远程函数,远程声明类,或远程进行类方法的调用。 远程操作是异步。 ret_id = fun.remote(x)


a = Actor.remote()

ret_id = a.method.remote(y)

ray.put() 将对象存储在对象库中,并返回其ID。 此ID可用于将对象作为参数传递给任何远程函数或方法调用。 这是一种同步的操作。 x_id = ray.put(x)
ray.get() 从对象ID或对象ID列表返回对象或对象列表。 这是一种 同步 (即阻塞)操作。 x = ray.get(x_id)


objects = ray.get(object_ids)

ray.wait() 从对象ID列表返回(1)准备好的对象的ID列表,以及(2)尚未准备好的对象的ID列表。 默认情况下,它一次返回一个已准备好的对象ID。
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值