flask 部署

您所在的位置:网站首页 flask部署模型 flask 部署

flask 部署

#flask 部署| 来源: 网络整理| 查看: 265

训练好的模型如何部署在云端,如何上传图片进行分类预测并返回预测结果,这是一个很令人困惑的问题

在一段时间的摸索之后,利用flask将自己的模型封装为web应用,可以调用api并返回值

完整代码地址(如果有用记得给个star):

lxztju/flask_deployment​github.com f7fd9f785a4671d088f9cb47607b0e10.png

这里采用的模型是利用tf.saved_model.builder.SavedModelBuilder保存的模型,保存后的模型含有variable文件夹与一个pb文件,

但是对于torch,pytorch,等其他的语言保存的模型,进行适当的修改之后均可以使用,原理一样,只是模型的读取方式会有所区别。

在server.py文件中,利用函数load_model来读取模型,加载为全局模型,不能传上去一张图片加载一次模型,这样效率很低。

def load_model(): # load the pre-trained Keras model (this model is saved by tf.saved_model.builder.SavedModelBuilder # which contains a variable folder and a pb file. global model model = tf.saved_model.loader.load(sess, [tag_constants.SERVING], pb_path) global graph graph = tf.get_default_graph()

利用函数preprocess_img对读取的图片进行预处理

利用函数prediict()作为模型主要的预测部分

@app

在如下这一部分,服务器主机采用0.0.0.0,以便外网可以直接访问,如果采用127.0.0.1就只能在本机上运行,如果是在自己的pc机上运行,采用0.0.0.0所提到的外网,就指的是在同一个路由下的其他的主机,如果想要使用广域网(路由器局域网之外的外网)进行访问,就必须使用内网穿透进行代理

如果是租用云端服务器进行部署,需要进行安全组的配置,开放所需的端口。

在自己的pc机上使用时,直接打开终端运行这个python文件

客户端调用client.py程序,直接打开另一个终端使用如下的代码进行调用,

python client.py --file=image_name


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3