最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何使用flask將模型部署為服務(wù)

 更新時間:2021年05月13日 15:57:05   投稿:yxs  
在某些場景下,我們需要將機(jī)器學(xué)習(xí)或者深度學(xué)習(xí)模型部署為服務(wù)給其它地方調(diào)用,本文接下來就講解使用python的flask部署服務(wù)的基本過程。

1. 加載保存好的模型

為了方便起見,這里我們就使用簡單的分詞模型,相關(guān)代碼如下:model.py

import jieba


class JiebaModel:
    def load_model(self):
        self.jieba_model = jieba.lcut

    def generate_result(self, text):
        return self.jieba_model(text, cut_all=False)

說明:在load_model方法中加載保存好的模型,無論是sklearn、tensorflow還是pytorch的都可以在里面完成。在generate_result方法中定義處理輸入后得到輸出的邏輯,并返回結(jié)果。

2. 使用flask起服務(wù)

代碼如下:test_flask.py

# -*-coding:utf-8-*-
from flask import Flask, request, Response, abort
from flask_cors import CORS
# from ast import literal_eval
import time
import sys
import json
import traceback

from model import JiebaModel

app = Flask(__name__)
CORS(app) # 允許所有路由上所有域使用CORS

@app.route("/", methods=['POST', 'GET'])
def inedx():
    return '分詞程序正在運(yùn)行中'

@app.route("/split_words", methods=['POST', 'GET'])
def get_result():
    if request.method == 'POST':
        text = request.data.decode("utf-8")
    else:
        text = request.args['text']

    try:
        start = time.time()
        print("用戶輸入",text)
        res = jiebaModel.generate_result(text)
        end = time.time()
        print('分詞耗時:', end-start)
        print('分詞結(jié)果:', res)
        result = {'code':'200','msg':'響應(yīng)成功','data':res}
    except Exception as e:
        print(e)
        result_error = {'errcode': -1}
        result = json.dumps(result_error, indent=4, ensure_ascii=False)
        # 這里用于捕獲更詳細(xì)的異常信息
        exc_type, exc_value, exc_traceback = sys.exc_info()
        lines = traceback.format_exception(exc_type, exc_value, exc_traceback)
        # 提前退出請求
        abort(Response("Failed!\n" + '\n\r\n'.join('' + line for line in lines)))
    return Response(str(result), mimetype='application/json')


if __name__ == "__main__":
    jiebaModel = JiebaModel()
    jiebaModel.load_model()
    app.run(host='0.0.0.0', port=1314, threaded=False)

說明:我們定義了一個get_result()函數(shù),對應(yīng)的請求是ip:port/split_words。 首先我們根據(jù)請求是get請求還是post請求獲取數(shù)據(jù),然后使用模型根據(jù)輸入數(shù)據(jù)得到輸出結(jié)果,并返回響應(yīng)給請求。如果遇到異常,則進(jìn)行相應(yīng)的處理后并返回。在__main__中,我們引入了model.py的JiebaModel類,然后加載了模型,并在get_result()中調(diào)用。

3. 發(fā)送請求并得到結(jié)果

代碼如下:test_request.py

import requests

def get_split_word_result(text):
    res = requests.post('http://{}:{}/split_words'.format('本機(jī)ip', 1314), data=str(text).encode('utf-8'))
    print(res.text)

get_split_word_result("我愛北京天安門")

說明:通過requests發(fā)送post請求,請求數(shù)據(jù)編碼成utf-8的格式,最后得到響應(yīng),并利用.text得到結(jié)果。

4. 效果呈現(xiàn)

(1)運(yùn)行test_flask.py

(2)運(yùn)行test_request.py

并在起服務(wù)的位置看到:

以上就是如何使用flask將模型部署為服務(wù)的詳細(xì)內(nèi)容,更多關(guān)于用flask將模型部署為服務(wù)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 對python中dict和json的區(qū)別詳解

    對python中dict和json的區(qū)別詳解

    今天小編就為大家分享一篇對python中dict和json的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python之京東商品秒殺的實(shí)現(xiàn)示例

    Python之京東商品秒殺的實(shí)現(xiàn)示例

    這篇文章主要介紹了Python之京東商品秒殺的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 解決Pycharm的項(xiàng)目目錄突然消失的問題

    解決Pycharm的項(xiàng)目目錄突然消失的問題

    今天小編就為大家分享一篇解決Pycharm的項(xiàng)目目錄突然消失的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • 詳解python定時簡單爬取網(wǎng)頁新聞存入數(shù)據(jù)庫并發(fā)送郵件

    詳解python定時簡單爬取網(wǎng)頁新聞存入數(shù)據(jù)庫并發(fā)送郵件

    這篇文章主要介紹了python定時簡單爬取網(wǎng)頁新聞存入數(shù)據(jù)庫并發(fā)送郵件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Pycharm安裝python庫的方法

    Pycharm安裝python庫的方法

    這篇文章主要介紹了Pycharm安裝python庫的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Python基礎(chǔ)學(xué)習(xí)之模塊的安裝和卸載

    Python基礎(chǔ)學(xué)習(xí)之模塊的安裝和卸載

    其實(shí)現(xiàn)在還是有很多剛開始學(xué)習(xí)的小伙伴,會遇到模塊不會安裝的情況,或者一遇到報(bào)錯就懵了,這樣就很耽誤我們的學(xué)習(xí)進(jìn)度。所以,今天我們就來了解一下Python幾種安裝模塊的方法吧
    2022-09-09
  • centos 安裝Python3 及對應(yīng)的pip教程詳解

    centos 安裝Python3 及對應(yīng)的pip教程詳解

    這篇文章主要介紹了centos 安裝Python3 及對應(yīng)的pip的教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • Pytorch中求模型準(zhǔn)確率的兩種方法小結(jié)

    Pytorch中求模型準(zhǔn)確率的兩種方法小結(jié)

    這篇文章主要介紹了Pytorch中求模型準(zhǔn)確率的兩種方法小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • flask應(yīng)用部署到服務(wù)器的方法

    flask應(yīng)用部署到服務(wù)器的方法

    這篇文章主要介紹了flask應(yīng)用部署到服務(wù)器的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python超簡單解決約瑟夫環(huán)問題

    python超簡單解決約瑟夫環(huán)問題

    這篇文章主要介紹了python超簡單解決約瑟夫環(huán)問題的方法,詳細(xì)描述的約瑟夫環(huán)問題的描述與Python解決方法,需要的朋友可以參考下
    2015-05-05

最新評論

宁陵县| 兴化市| 龙门县| 新晃| 吉木萨尔县| 福清市| 万安县| 宁城县| 曲松县| 灵丘县| 离岛区| 合山市| 利辛县| 平邑县| 揭西县| 旬邑县| 祁门县| 通道| 台江县| 昌乐县| 塔城市| 宝兴县| 湘阴县| 沁水县| 云浮市| 东乡| 山西省| 砚山县| 广丰县| 大埔区| 会昌县| 盐城市| 玉山县| 卢龙县| 塔河县| 时尚| 西盟| 二连浩特市| 永登县| 鄄城县| 江城|