Ray是一个神奇的平台,可以做分布式训练,由于最近还不需要分布式去做一些模型,所以先Mark一下,等到有需求的时候在,再学习,只能说Ray,异常强大!

  • 文档:http://ray.readthedocs.io/en/latest/index.html
  • github:https://github.com/ray-project/ray
  • 作者博客:https://rise.cs.berkeley.edu/blog/pandas-on-ray/

还能做啥:

  • GPU训练、分布式训练,Using Ray with GPUs;
  • 训练界面Web UI;
  • 强化学习训练,有的模型:Proximal Policy Optimization (PPO)、The Asynchronous
    Advantage Actor-Critic (A3C)、Deep Q Networks (DQN)、Ape-X Distributed
    Prioritized Experience Replay等;
  • 与tensorflow联合分布式训练;
  • Streaming MapReduce

一、Ray安装

来源:Installing Ray

pip install ray

好像也有一些依赖需要安装:

sudo apt-get update
sudo apt-get install -y cmake pkg-config build-essential autoconf curl libtool unzip flex bison python # we install python here because python2 is required to build the webui# If you are not using Anaconda, you need the following.
sudo apt-get install python-dev  # For Python 2.
sudo apt-get install python3-dev  # For Python 3.# If you are on Ubuntu 14.04, you need the following.
pip install cmakepip install cython

二、Pandas on Ray简单介绍

在一篇机器之心发表的文章中《资源 | Pandas on Ray:仅需改动一行代码,即可让Pandas加速四倍》,感觉很给力,但是笔者自己尝试的时候,发现好像并木有描述的那么faster…可能笔者还找到正确的打开方式。。
而且调用、使用方式跟文章里面不一样…不过! 确实是一行代码就可以替换了。

import ray.dataframe as rd
import pandas as pd
import ray

直接导入ray之后,可以通过以下命令去设置调用CPU/GPU数量:

ray.init(num_cpus=20, num_gpus=2)

笔者用了自己的一个数据集对比:

%time dataframe_ray = ray.dataframe.dataframe.pd.read_csv('data.csv')
%time dataframe_rd = rd.dataframe.pd.read_csv('data.csv')
%time dataframe_pd = pd.read_csv('data.csv')# ray.dataframe
>>> CPU times: user 4.68 s, sys: 400 ms, total: 5.08 s
>>> Wall time: 5.08 s
# pandas
>>> CPU times: user 4.52 s, sys: 320 ms, total: 4.84 s
>>> Wall time: 4.83 s
# ray
>>> CPU times: user 5.31 s, sys: 468 ms, total: 5.78 s
>>> Wall time: 5.78 s

其中直接用ray,尼玛中间引用好多:ray.dataframe.dataframe.pd.read_csv

来看看查询效率:

%time result = dataframe_ray[dataframe_ray.keyword=='word1']
%time result = dataframe_rd[dataframe_rd.keyword=='word1']
%time result = dataframe_pd[dataframe_pd.keyword=='word1']>>> CPU times: user 104 ms, sys: 12 ms, total: 116 ms
>>> Wall time: 113 ms
>>> CPU times: user 84 ms, sys: 28 ms, total: 112 ms
>>> Wall time: 111 ms
>>> CPU times: user 88 ms, sys: 4 ms, total: 92 ms
>>> Wall time: 92.1 ms

Ray︱高性能的分布式执行引擎 起个头~相关推荐

  1. 分布式执行框架——Ray简单使用

    Ray是UC Berkeley RISELab新推出的高性能分布式执行框架,它使用了和传统分布式计算系统不一样的架构和对分布式计算的抽象方式,具有比Spark更优异的计算性能. Ray目前还处于实验室 ...

  2. python高性能_Python高性能分布式执行框架-Ray

    Ray是UC Berkeley RISELab新推出的高性能分布式执行框架,它使用了和传统分布式计算系统不一样的架构和对分布式计算的抽象方式,具有比Spark更优异的计算性能.Ray是一个基于Pyth ...

  3. 可自管理的分布式工作流引擎的设计与实现

    <script type="text/javascript"></script> <script src="http://pagead2.g ...

  4. 工作流系列之可自管理的分布式工作流引擎的设计与实现

    这篇文章是偶在清华读研究生时发表在国家核心期刊CIMS("Design and implementation of self-managed distributed workflow eng ...

  5. python分布式框架_高性能分布式执行框架——Ray

    Ray是UC Berkeley RISELab新推出的高性能分布式执行框架,它使用了和传统分布式计算系统不一样的架构和对分布式计算的抽象方式,具有比Spark更优异的计算性能. Ray目前还处于实验室 ...

  6. SuperSQL:跨数据源、跨DC、跨执行引擎的高性能大数据SQL中间件

    导语:SuperSQL是腾讯数据平台部自研的跨数据源.跨数据中心.跨执行引擎的统一大数据SQL分析平台/中间件,支持对接适配多类外部开源SQL执行引擎,如Spark.Hive等. 背景 SuperSQ ...

  7. DRDS分布式SQL引擎—执行计划介绍

    摘要: 本文着重介绍 DRDS 执行计划中各个操作符的含义,以便用户通过查询计划了解 SQL 执行流程,从而有针对性的调优 SQL. DRDS分布式SQL引擎 - 执行计划介绍 前言 数据库系统中,执 ...

  8. Hologres揭秘:深度解析高效率分布式查询引擎

    简介:从阿里集团诞生到云上商业化,随着业务的发展和技术的演进,Hologres也在持续不断优化核心技术竞争力,为了让大家更加了解Hologres,我们计划持续推出Hologers底层技术原理揭秘系列, ...

  9. 亿流量大考(4):自研ES+HBase+纯内存的高性能毫秒级查询引擎

    V-xin:ruyuanhadeng获得600+页原创精品文章汇总PDF 一.前情回顾 上篇文章(<亿流量大考(3):不加机器,如何抗住每天百亿级高并发流量?>)聊了一下系统架构中,百亿流 ...

最新文章

  1. js怎样和硬件交互_Node.js与JavaScript
  2. SQL SERVER中求上月、本月和下月的第一天和最后一天[转]
  3. Java基础:char类型字节占用数
  4. 链表中位数(Middle of the Linked List)
  5. 初识Docker-什么是docker
  6. java 内存泄露 jmap_jmap命令 检查内存泄漏
  7. 一行shell解决Mac文件乱码问题
  8. 钉钉人脸识别,戴个太阳帽就找不到人脸
  9. 身份证算法15位转换为18位
  10. 高德地图根据经纬度获取位置
  11. 为什么tumblr起作用
  12. setpositivebutton
  13. javaScript基础语法知识点总结
  14. Coroutine协成
  15. 即使最平凡的人,也有不妥协的一面
  16. 一个可以在多平台运行的任天堂GameBoy模拟器
  17. 全球PM25实时可视化
  18. 《 猜数字》小游戏的Java实现
  19. Tensorflow之基于MNIST手写识别的入门介绍
  20. 【WIFI无线感知】无线通信基础知识

热门文章

  1. HDU 1573 X问题 [中国剩余定理]
  2. [自己动手玩黑科技] 1、小黑科技——如何将普通的家电改造成可以与手机App联动的“智能硬件”...
  3. 【Android 界面效果43】Android LayoutInflater的inflate方法中attachToRoot的作用
  4. Ncurses 命令行图形库
  5. Windows Phone 7 Silverlight控件展示(含34个控件)
  6. 只需短短几步就能重排PDF文档的页面
  7. Python数据写入csv格式文件
  8. 错误代码1833 Cannot change column used in a foreign
  9. 又见黑科技!量子薄膜传感器或推动VR设备变革
  10. Android开发中的单元测试