利用Ray进行分布式数据处理与模型训练
1. Dask与Ray集成
现在我们可以运行常规的Dask DataFrames代码,并使其在Ray集群上进行扩展。例如,我们可能想使用标准的DataFrame操作(如过滤和分组)进行一些时间序列分析,并计算标准差。以下是示例代码:
import dask
df = dask.datasets.timeseries()
df = df[df.y > 0].groupby("name").x.std()
df.compute() # 触发任务图进行评估
如果你习惯使用Pandas或其他DataFrame库,可能会疑惑为什么需要调用 df.compute() 。这是因为Dask默认是惰性的,只会按需计算结果,这样它可以优化将在集群上执行的任务图。
Dask on Ray最强大的方面之一是它与Ray Datasets的集成非常好。我们可以使用内置工具将Ray Dataset转换为Dask DataFrame,反之亦然:
import ray
ds = ray.data.range(10000)
# 将Dataset转换为Dask DataFrame
df = ds.to_dask()
print(df.std().compute()) # -> 2886.89568
# 将Dask DataFrame转换回Dataset
ds = ray.data.from_dask(df)
print(ds.std()) # ->
Ray在分布式数据处理与模型训练中的应用
超级会员免费看
订阅专栏 解锁全文
720

被折叠的 条评论
为什么被折叠?



