对标Tensorflow ? Vertex.AI开源深度学习框架PlaidML

39a52a93eaa6a3066e8381b8734441ce.png

今天,Vertex.AI发布了开源便携式深度学习引擎PlaidML,Vertex.AI的使命是让任何人都能快速开发深度学习应用。

Vertex.AI支持开发人员、研究人员和学生常用的最流行的硬件和软件。最初版本的PlaidML在大多数现有的PC硬件上运行,包括NVIDIA、AMD或Intel的OpenCL功能的GPU。此外,我们还包括支持在广受欢迎的Keras框架运行。

37b518e8dc3a3fe2dc32a54bb4de3be8.jpeg

PlaidML支持的框架和硬件

Vertex.AI使用PlaidML作为嵌入式设备深度学习视觉系统的核心。迄今为止,Vertex.AI专注于支持图像处理神经网络,如ResNet-50,Xception和MobileNet。

通过开源这项技术,来提高深度学习的普及性。这个版本只是第一步。目前,PlaidML支持Keras,OpenCL和Linux。将来,公司将添加对macOS和Windows的支持。

未来还将添加与TensorFlow、PyTorch和Deeplearning4j等框架的兼容性。对于视觉工作负载,Vertex.AI已经展示了硬件的结果,与供应商的引擎(如cuDNN)相当。

性能更新

吞吐量是计算密集型开发工作流程和使生产中最复杂的模型能够使用的关键因素。我们在之前的一篇文章中写道,将PlaidML推断吞吐量与TensorFlow在cuDNN上进行比较。

自从发布TensorFlow团队的性能进行了重大改进后,大大提高了未分配的Xception吞吐量数据。在更新到Keras 2.0.8,cuDNN 6和Tensorflow 1.3之后,它大约在PlaidML吞吐量的4%内:

3ee743047f0a2a6e44fdfae2ee5e3752.png

Unbatch Xception推理率(ratio):1.04〜1.00(长条更好)

实际上,PlaidML的图像推理吞吐量,适用于当今的实际工作负载。下图显示了各种图像网络和GPU型号的吞吐量,单位是NVIDIA Tesla K80(长条更快)的吞吐量与TensorFlow的对比率:

80caf36261471a9a08fd7392830a352f.png

Unbatched Xception跨平台推理

使用PlaidML

开始使用PlaidML的最快方法是安装二进制版本。有关系统要求的详细说明以及当前实现的功能,请参阅GitHub上的README。简单来说,系统要求是:

  • 安装了64位Linux发行版的PC(我们测试了Ubuntu 16.04)

  • 具有运行OpenCL驱动程序的GPU(用于clinfo显示已配置的设备)

  • 安装Python 2.7

要安装PlaidML并做一个快速的基准测试,你需要做的是:

sudo pip install plaidml plaidml-keras

git clone https://github.com/plaidml/plaidbench

cd plaidbench

pip install -r requirements.txt

python plaidbench.py mobilenet

默认情况下,plaidbench将使用PlacesML进行基准测试,并得出以下结果:

Using PlaidML backend.

INFO:plaidml:Opening device "tesla_p100-pcie-16gb.0": "Tesla P100-PCIE-16GB"

Example finished, elapsed: 11.72719311714 (compile), 6.80260443687 (execution)

在这种情况下,Google Cloud Platform上的NVIDIA Tesla K80P100的结果为6.8秒。为了测试在Keras的TensorFlow后端运行的相同工作负载,您需要分别安装tensorflow或者连接tensorflow-gpucuDNN和其他依赖项。然后运行plaidbench与“no-plaid”选项:

python plaidbench.py mobilenet --no-plaid

输出应如下所示:

Creating TensorFlow device (/gpu:0) -> (device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0)

Example finished, elapsed: 9.71920609474 (compile), 7.94898986816 (execution)

在第一次运行时,PlaidML可能需要更长时间才能执行,但是即使在最新的NVIDIA硬件(在这种情况下,大约为14%)中运行,也优于TensorFlow + cuDNN。

Github:https://github.com/plaidml/plaidml

★推荐阅读

谷歌中国首席工程师详解TensorFlow

台大陈蕴侬、李宏毅“应用深度学习”课程(国语)

这些公司用AI影响1400万教师和1.88亿学生

世界最大色情网站Pornhub使用AI识别AV

DeepMind发布千年以来最强围棋选手

MIT女教授使用AI检测早期乳腺癌准确率97%

拍人更美!谷歌工程师揭秘Pixel 2手机黑科技

华为新品手机发布会全程回顾

超级计算机图像识别率达人类医生水平

长期招聘志愿者

加入「AI从业者社群」请备注个人信息

添加小鸡微信  liulailiuwang

48ab7c2e0c097f5f6c71727e961008da.jpeg

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值