是时候给出我的文章了,如果你使用的神经网络框架是TensorFlow,那么TensorFlow Serving是你非常好的选择。目前本人用的是TensorFlow Serving + Docker + Tornado的组合,Docker非常易于部署任何模型,而Tornado负责处理高并发请求。
详细教程请移步查看我的文章:
如果你觉得有用,请先点赞再收藏。
另外,如果你使用的是其它神经网络框架,例如caffe、pytorch,我会推荐Nvidia的TensorRT Inference Server,它支持所有模型的部署,包括TF系、ONNX系、mxnet等等,TRT会先对你的网络进行融合,合并可以同步计算的层,然后量化计算子图,让你的模型以float16、int8等精度进行推理,大大加速推理速度,而你只需要增加几行简单的代码就能实现。而且TRT Inference Server能够处理负载均衡,让你的GPU保持高利用率。
日后有机会再写一篇TRT Inference Server的教程,这里先挖个坑,大家可以保持关注。
模型部署的方式越来越简单,许多大团队已经帮在帮我们简化部署的流程,以及提高部署的性能,我们只需要学会怎么用起来,剩下的就是写一些业务逻辑了,这为我们省下了大量的时间,专注于算法的研究。
--------19.1.27更新--------
现在又写了篇Mxnet Model Server的部署教程,大家可以参考学习: