avatar GDYSHI

gdyshi 的个人博客

  • 首页
  • 子域
  • 分类
  • 标签
  • 归档
  • 关于
首页 tensorflow模型部署系列————独立简单服务器部署
文章

tensorflow模型部署系列————独立简单服务器部署

发表于 2019/08/26
作者 gdyshi
5 分钟阅读
tensorflow模型部署系列————独立简单服务器部署
tensorflow模型部署系列————独立简单服务器部署
  • 摘要
  • 引言
  • 主题
    • flask介绍
    • 模型封装类
    • 服务端接口调用
  • 示例代码
  • 附录
  • 参考

摘要

本文为系列博客tensorflow模型部署系列的一部分,用于实现通用模型的独立简单服务器部署。本文主要实现用flask搭建tensorflow模型推理服务器。实现了tensorflow模型在服务器端计算方案,并提供相关示例源代码。相关源码见链接


引言

本文为系列博客tensorflow模型部署系列的一部分,用于实现通用模型的独立简单服务器部署。本文主要实现用flask搭建tensorflow模型推理服务器。实现了tensorflow模型在服务器端计算的简单方案,该方案适用于BS和CS架构,易于部署和维护。从模型文件中获取输入输出op名请参考博客tensorflow模型部署系列————单机python部署

主题

前面的博文tensorflow模型部署系列————嵌入式(c/c++ android)部署就如何将tensorflow在本地部署做出了讲解,覆盖了边缘计算应用的大部分场景,在实际应用时还有一种常用的应用场景:将数据传给服务器,由服务器来进行推理。该方案易于部署和维护适用于前期开发和测试。本文分别对tensorflow模型在服务器上的部署进行解说。

flask介绍

Flask是一个使用 Python编写的轻量级 Web 应用框架。可以用来搭建后台服务器、网页等。可以通过 pip install flask安装,用flask搭建web应用只需以下几行代码即可

1
2
3
4
5
6
7
8
9
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

其中 app = Flask(__name__)创建一个flask实例;使用 @app.route('/') 装饰器告诉 Flask 访问根目录时会触发函数hello_world

模型封装类

模型封装类直接使用tensorflow模型部署系列————单机python部署已经写好的模型代码文件。如果需要查看自己模型的op名称,请参考博客tensorflow模型部署系列————单机python部署

模型封装类主要包括两个方法:初始化和推理。

初始化只用于处理与sess.run无关的所有操作,以减少推理时的操作,保证模型推理高效运行。初始化主要进行的操作包括:模型文件加载、获取计算图和计算session、根据输入输出tensor名称获取输入输出tensor

推理仅仅执行sesson.run操作

服务端接口调用

服务端在一开始加载时就把模型类实例化,然后添加inference接口和路由。inference接口接收一个待预测文件,经过推理后将结果放入到‘result’里,并以json格式返回。

这种独立简单服务器部署方式存在一个问题是:模型只实例化了一个对象,在并发访问在情况下存在临界区的问题,可以简单的通过加锁来避免并发,或者自己写一个模型资源池来优化,提高并发访问的吞吐量

示例代码

  • 模型封装类代码

  • 服务端接口调用代码
  • 客户端示例代码

附录

参考


  • flask 官方文档
  • flask 中文文档
tensorflow
tensorflow keras 模型部署 服务器 flask
本文由作者按照 CC BY 4.0 进行授权
分享

最近更新

  • paho.mqtt.embedded掉线问题记录
  • tensorflow模型部署系列————TensorFlow Serving部署
  • tensorflow模型部署系列————独立简单服务器部署
  • tensorflow模型部署系列————浏览器前端部署
  • tensorflow模型部署系列————独立简单服务器部署
外部链接
  • 996.icu
  •  此博客的 Github 仓库
  •  GDYSHI 的个人博客

文章内容

相关文章

2019/08/26

tensorflow模型部署系列————TensorFlow Serving部署

摘要 引言 主题 TensorFlow Serving介绍 安装 模型部署 模型转换 模型部署 示例代码 附录 参考 摘要 本文为系列博客tensorflow模型部署系列的一部分,用于实现通用模型的TensorFlow S...

2019/07/22

tensorflow模型部署系列————浏览器前端部署

摘要 引言 主题 TensorFlow.js介绍 浏览器安装 API讲解 模型文件转换 命令行转换 keras tf模型 ...

2019/07/10

tensorflow模型部署系列————嵌入式部署

摘要 引言 主题 tflite介绍 应用场景 模型文件转换 从session转换 从pb文件转换 python部署 安装 API讲...

tensorflow模型部署系列————TensorFlow Serving部署

paho.mqtt.embedded掉线问题记录

© 2025 gdyshi. 保留部分权利。

本站采用 Jekyll 主题 Chirpy

热门标签

tensorflow keras 模型部署 神经网络 机器学习 flask python 服务器 译文 人脸识别

发现新版本的内容。