tensorflow tfserving + django,搭建图像分类预测web服务
前面介绍了使用docker和tfserving搭建一个预测服务,但是有时候需要对输入到网络的数据做一些预处理的工作,虽然可以在本地使用如Python代码处理完成后再请求预测,但是使用起来会不方便。有时候也可能有将预测的过程作为一个web服务,实现在网页上填写图片的地址信息,然后返回预测结果的需求。本篇主要基于之前搭建的tfserving预测服务,使用django (一个开源的python web框架,详细信息见官网 django) 搭建一个web服务,作为一个中转服务器,接受用户的输入,完成一些预处理工作,然后向tfserving请求预测结果,最后返回结果。全部源代码放在 github。
先来看结果,下图为最终的页面:
点击这里访问,可以先试一试效果。输入图片的URL,点击predict,等待返回结果。
下面介绍主要的流程:
0. tfserving准备
这里使用的是TensorFlow官方给的一个关于tfserving的教程所带的模型,具体的Docker安装和tfserving容器搭建流程可以参考使用docker和tfserving搭建预测服务。该步骤为基础步骤,如果要完整实现该demo,需要首先完成此步骤。
1.获取django镜像
$docker pull django
2.启动一个django容器
将容器的8000端口映射到宿主机的8080端口(后面请求的时候用的就是8080端口),并进入终端
$docker run -p 8080:8000 -it django bash
3.创建一个django工程
$django-admin startproject app
在/usr/src/路径下执行该命令,会在当前目录下创建一个app文件夹及相关文件,此时的目录结构为&#