开源项目专题系列
(六)
1.开源项目名称:dl_inference
2.github地址:
https://github.com/wuba/dl_inference
3.简介:通用深度学习推理服务,可在生产环境中快速上线由TensorFlow、PyTorch框架训练出的深度学习模型。
dl_inference是58同城推出的通用深度学习推理服务,可在生产环境中快速上线由TensorFlow、PyTorch框架训练出的深度学习模型。dl_inference当前支持TensorFlow和PyTorch模型,提供GPU和CPU两种部署方式,并且实现了模型多节点部署时的负载均衡策略,支持线上海量推理请求,该服务支撑了58同城各AI场景下日均超过10亿次的线上推理请求。
dl_inference具备如下特点:
- 简化深度学习模型的推理服务部署;
- 支持模型多节点部署并实现负载均衡策略;
- 提供统一的RPC服务调用接口;
- 提供GPU和CPU两种部署方式;
- PyTorch模型支持推理前后数据处理,开放模型调用。
为什么需要dl_inference
将深度学习模型进行部署实现推理服务是算法应用到生产环境的最后一环。当前主流的深度学习框架TensorFlow和PyTorch推理服务实现介绍如下:
1. TensorFlow推理
最常见的是采用TensorFlow Serving这一组件进行部署,在生产环境中推荐使用Docker部署TensorFlow Serving。TensorFlow Serving可以直接读取SavedModel格式模型文件进行部署,支持热更新模型,支持以gRPC和RESTful API进行调用。
当一个模型需要部署多个节点时,采用TensorFlow Serving组件部署时需要解决请求负载均衡问题,dl_inference基于动态加权轮询算法实现多个推理节点的负载均衡,很好的解决了这一问题。
2. PyTorch推理
PyTorch框架不提供服务化部署组件,需要用户自己开发实现,大致有两种解决方案。第一种是利用服务化框架进行封装,比如使用Flask框架部署一个http服务,编写API来进行请求处理, API里调用PyTorch推理函数;第二种是将PyTorch模型利用ONNX转换为onnx格式,然后再转换为TensorFlow或Caffe的模型,再通过TensorFlow Serving 或Caffe来进行推理部署。
第一种方式需要用户自行进行服务封装,开发工作量大;第二种方
dl_inference是58同城推出的服务,用于快速上线TensorFlow和PyTorch模型,提供GPU和CPU部署,支持负载均衡。它简化部署流程,支持统一RPC接口,并允许PyTorch模型推理前后数据处理。
最低0.47元/天 解锁文章
1792

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



