瞭解一點web知識,看一下flask教程就能使用flask寫簡單的demo. 在flask中加個載入模型函數,隨服務啓動將模型載入內存,將預測函數放進接收數據函數中,拿到數據即進行預測html
#encoding:utf-8 from keras.applications import ResNet50 from PIL import Image import numpy as np import flask import io import tensorflow as tf app = flask.Flask(__name__) model = None #載入模型 def load_model(): global model model = ResNet50(weights="imagenet") global graph graph = tf.get_default_graph() #不加這個會報錯 #預處理數據 def prepare_image(image): return image #路由 預測 @app.route("/predict", methods=["POST"]) def predict(): #獲取http傳來數據 if flask.request.method == "POST": if flask.request.files.get("image"): #上傳圖片數據,也可上傳文本,或者上傳文件url,在預處理時讀取 image = flask.request.files["image"].read() image = Image.open(io.BytesIO(image)) #數據預處理 image = prepare_image(image) #模型預測 with graph.as_default(): #不加這個會報錯 preds = model.predict(image) return preds if __name__ == "__main__": load_model() # app.run(host, port, debug, options) # 默認值:host="127.0.0.1", port=5000, debug=False app.run(host="0.0.0.0", port=5500, debug=False, use_reloader=False)
常見requset請求方式:web
import requests #發送get請求 url = 'http://127.0.0.1:5000/predict' data = {'stu_name':'小黑'} #請求數據 req = requests.get(url,params=data) #發送get請求 print(req.json()) #字典 單引號' print(req.text) #string 雙引號" #發送post請求 url = 'http:///api/user/login' data = { 'username':'niuhanyang', 'passwd':'aA123456' } #請求數據 req = requests.post(url,data)#發送post請求 print(req.json()) #入參是json類型 url = 'http:///api/user/add_stu' data = { "name":"yyy", "grade":"9年級", } req = requests.post(url,json=data) print(req.json()) #添加cookie url = 'http:///api/user/' data = {'stu_id':123,'gold':1000} cookie = {'hc123':'337ca4cc825302'} req = requests.post(url,data,cookies=cookie) print(req.json()) #添加header url = 'http:///api/all_stu' header = { 'Referer':'http://api.nnzhp.cn/' } req = requests.get(url,headers = header) print(req.json()) #上傳文件 url = 'http:///api/file/file_upload' data = { # 'file':open('baidu.html',encoding='utf-8') #圖片與excel是rb 'file':open('.//1.jpg','rb') } req = requests.post(url,files = data,) print(req.json()) #下載圖片 url = 'http://127.0.0.1:5000/soup.jpg' req = requests.get(url) print(req.content) #返回的二進制 fw = open('m.mp3','wb')#二進制寫模式wb fw.write(req.content)
請求這部分搬運於:https://www.cnblogs.com/ymany/p/9040657.htmljson