GraphPipe
机器学习模型部署变得简单。
它是什么?
GraphPipe 是一种协议和软件集合,旨在简化机器学习模型的部署,并将其与特定于框架的模型实现解耦。
现有的模型服务解决方案不一致,或者效率低下。与这些模型服务器通信没有一致的协议,因此常常需要为每个工作负载构建自定义客户端。GraphPipe 通过标准化有效的通信协议,并为主要 ML 框架提供简单的模型服务器,解决了这些问题。
我们希望开源 GraphPipe 能够使服务于 landscape 的模型变得更加友好。详细了解我们为何在此处构建它。
或者浏览其余文档。
特性
- 一个基于 flatbuffers 的极简机器学习传输规范。
- 简单、高效的 Tensorflow, Caffe2, 和 ONNX 参考模型服务器。
- 使用 Go、Python 和 Java 实现高效的客户端。
这个存储库中有什么?
这个 repo 包含文档以及 flatubuffer 定义文件,其他特定于语言的 repos 使用这些文件。如果您正在寻找 GraphPipe 客户端、服务器和示例代码,请查看我们的其他 GraphPipe repos:
- https://github.com/oracle/graphpipe-go -- GraphPipe go 客户端库
- https://github.com/oracle/graphpipe-go/tree/master... -- Go 实现的一个GraphPipe TensorFlow 模型服务器
- https://github.com/oracle/graphpipe-go/tree/master... -- Go 实现的 GraphPipe ONNX/Caffe2 模型服务器
- https://github.com/oracle/graphpipe-py -- GraphPipe Python 客户端库
- https://github.com/oracle/graphpipe-tf-py -- TensorFlow 的远程操作客户端的Python 实现,以及一些服务器实现示例
构建 flatbuffer 定义
如果你已经安装了flatc,你可以完成所有操作但是如果你不想安装它,你可以导出USE_DOCKER = 1然后全部完成。 (请记住,make需要vars导出,而不仅仅是在运行make的命令行上)。 如果你已经安装了 flatc,你可以完成所有操作;但是如果你不想安装它,你可以 export USE_DOCKER=1,然后 make all。(记住,make 需要 exported vars,而不仅仅是在命令行上运行 make )。
这将生成 go、c 和 python 库,然后可以将它们分别复制到他们的项目 graphpipe-go、graphpipe-tf-py 和 graphpipe-py 中。
贡献
所有 GraphPipe 项目都是开源的。 要了解如何贡献,请参阅 CONTRIBUTING.md
您也可以通过我们的 Slack 频道与我们聊天。
(First edition: vz edited at 2019.08.22)