Flask框架建立模型API介面並部署上線

2021-09-05 10:45:22 字數 2256 閱讀 8793

模型訓練後如何將模型打包上線,下面用flask框架實現模型的部署和實時**。

直接上乾貨,檔名稱為flask_model.py

import numpy as np

from flask import flask

from flask import request

from flask import jsonify

from sklearn.externals import joblib

#匯入模型

model = joblib.load('model.pickle')

#temp = [5.1,3.5,1.4,0.2]

#temp = np.array(temp).reshape((1, -1))

#ouputdata = model.predict(temp)

##獲取**分類結果

#print('分類結果是:',ouputdata[0])

def output_data():

text=request.args.get('inputdata')

if text:

temp = [float(x) for x in text.split(',')]

temp = np.array(temp).reshape((1, -1))

ouputdata = model.predict(temp)

return jsonify(str(ouputdata[0]))

if __name__ == '__main__':

print('執行結束')

在cmd命令列中執行命令

>>> python flask_model
**實時**

# 呼叫api介面

import requests

base = ''

response = requests.get(base)

answer = response.json()

print('**結果',answer)

下面實現乙個post請求demo

from flask import flask, request, jsonify

import json

def add_stu():

if not request.data: #檢測是否有資料

return ('fail')

student = request.data.decode('utf-8')

#獲取到post過來的資料,因為我這裡傳過來的資料需要轉換一下編碼。根據晶具體情況而定

request_id = request.form['id']

student_json = json.loads(request_id )

#把區獲取到的資料轉為json格式。

return jsonify(student_json)

#返回json資料。

if __name__ == '__main__':

#127.0.0.1是本地的意思,如果要部署到伺服器需要安裝世界的ip位址進行修改

python呼叫post請求

import requests,json

data =

url = ''

r = requests.post(url,data=json.dumps(data))

print(r.json())

高併發提供介面

# gevent

from gevent import monkey

from gevent.pywsgi import wsgiserver

# 下面這句不加也能啟動服務,但是你會發現flask還是單執行緒,在乙個請求未返回時,其他請求也會阻塞,所以請新增這句

monkey.patch_all()

# gevent end

from flask import flask

def index():

# 測試阻塞url1時,url2是否能夠訪問

Django建立模型

在django中寫乙個資料庫驅動的web應用的第一步是定義模型,這是資料庫結構設計和附加的其他元資料。在投票應用中,將建立question 問題 和choice 選項 兩個模型,question模型包括問題描述和發布時間,choice模型包括選項描述和當前得票數。每個選項屬於乙個問題。重寫polls...

Flask框架 建立app物件

將 name 傳入到flask物件中,表示flask以這個模組所在目錄為根目錄,預設根目錄下,static目錄為靜態檔案目錄,templates目錄為模板目錄。路由 使用 物件名稱.route 路徑 向頁面返回字串可以return 後面直接寫字串即可 預設的訪問靜態檔案的路由是 static hel...

Flask框架 07 模型使用配置

flask預設並沒有提供任何資料庫操作的api 我們可以選擇任何適合自己專案的資料庫來使用 flask中可以自己選擇資料,用原生語句實現功能,也可以選擇orm sqlalchemy,mongoengine sqlalchemy是乙個很強大的關係型資料庫框架,支援多種資料庫後台。sqlalchemy提...