工作中,往往需要将训练好的深度学习模型,打包成http服务的形式,供其他功能调用。这里先介绍flask方法实现。
一、服务代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#!/usr/bin/python
# server.py
import os
import sys
from flask import Flask,request,Response,json
sys.path.append("..")
current_directory = os.path.dirname(os.path.abspath(__file__))
root_path = os.path.abspath(os.path.dirname(current_directory) + os.path.sep + ".")
sys.path.append(root_path)
app = Flask(__name__)
model = Model()
@app.route("/server",methods=["POST","GET"])
def server():
response = request.get_json()
input_data = response["input_data"]
result = model.predict(input_data)
return Response(json.dumps({"result":result}), mimetype="application/json")
if __name__ == "__main__":
port = sys.argv[1]
prot = str(port)
app.run(host="0.0.0.0", port=port, debug=False)
|
关于Response的mimetype
- text/html(默认的,html文件)
- text/plain(纯文本)
- text/css(css文件)
- text/javascript(js文件)
- application/x-www-form-urlencoded(普通的表单提交)
- multipart/form-data(文件提交)
- application/json(json传输)
- application/xml(xml文件)
二、多开端口脚本
1
2
3
4
|
#! /bin/sh
# server.sh
chmod 777 server.py
python3 server.py 5020 & python3 server.py 5021 & python3 server.py 5022
|
三、后台启动
打赏
微信
|
支付宝
|
万分感谢 |
|