amd 深度学习模型部署_Web服务部署深度学习模型-续集
在上一篇中,本人介紹了如何使用Web服務部署深度學習模型,見知乎鏈接:劉聰NLP:Web服務部署深度學習模型。
有同學提問:“是否可以在web上有輸入數據的接口,通過深度學習模型的計算數據的結果,將輸出結果在web端顯示。”
本人回答:當然可以了,現在我就來帶著大家實現這一需求。完成之后,我們就變成全棧工程師了,哈哈哈哈~~~~
如果在web上有輸入數據的接口,那面我們應該有一個頁面,來輸入數據;我們依然以文本分類為例(一法通,則萬法通),那么就需要先寫一個html頁面。
<!DOCTYPE html> <html lang="en"><head><meta charset="utf-8"><title>Classification</title></head><body><div align="center" style="margin-top:80px"><img src="{{url_for('static', filename='lcong.jpg') }}" alt="lcong" height = "200px" /></div><div align="center" style="margin-top:10px"><form method="POST" name = "form1"><input type="text" name = "News" placeholder = "Your news here" value="{{ var }}" style="width:400px; height:200px;"/><input type="submit" value = "Get Answer" /><input type="text" name = "result" placeholder = "Your label appears here" readonly="readonly" value="{{ result }}" style="width:400px; height:40px;"/></form></div></body> </html>由于,本人不是很精通web界面的編寫,因此就隨便寫了一個,有點丑(不喜勿噴),就將就看吧,主要還是介紹思路及流程。如果有精通之人,可以自行修改,修改成自己喜歡的樣子。頁面如下圖:
左邊文本框,輸入新聞文本;點擊“Get Label”按鈕,可以獲得該新聞所屬的類別;最終顯示在右邊文本框中。
(劃重點)接下來,我們開始使用web服務掛起模型。通俗地講,其實本人就是通過flask框架,搭建了一個web服務,來獲取外部的輸入;并且使用掛載的模型進行預測;最后將預測結果通過web服務傳出。
from gevent import monkey monkey.patch_all() from flask import Flask, request, render_template from gevent import wsgi import json from ClassificationModel import ClassificationModeldef start_sever(http_id, port, gpu_id, vocab_file, gpu_memory_fraction, model_path, max_seq_length):model = ClassificationModel()model.load_model(gpu_id, vocab_file, gpu_memory_fraction, model_path, max_seq_length)print("load model ending!")app = Flask(__name__)@app.route('/')def index():return "This is News Classification Model Server"@app.route('/news-classification-from-page', methods=["GET", 'POST'])def response_request_from_page():if request.method == 'POST':text = request.form.get('News')label, label_name = model.predict(text)return render_template("index.html", result=label_name, var1=text)return render_template("index.html")server = wsgi.WSGIServer((str(http_id), port), app)server.serve_forever()其中,http_id為web服務的地址;port為端口號;gpu_id、vocab_file、gpu_memory_fraction、model_path和max_seq_length為加載模型所需要的參數,詳細見上一篇文檔介紹。
************************************************************************************
最后我們在服務器上輸入對應http地址及字段,如圖:
接下來,在左邊框內輸入新聞,點擊Get Label按鈕,得到結果,如圖:
其中,有兩個要注意的事項;(1)html文件需要放入templates文件夾下;(2)html中所顯示的圖片要放到static文件夾下。
以上就是通過web服務部署深度學習模型的全部內容,喜歡的同學還請多多點贊~~~~~
廣告時間,推薦幾篇本人之前寫的一些文章:
劉聰NLP:短文本相似度算法研究
劉聰NLP:閱讀筆記:開放域檢索問答(ORQA)
劉聰NLP:Web服務部署深度學習模型
劉聰NLP:NEZHA(哪吒)論文閱讀筆記
劉聰NLP:UniLM論文閱讀筆記
劉聰NLP:檢索系列文章之DeepCT論文筆記
喜歡的同學,可以關注一下專欄,關注一下作者,還請多多點贊~~~~~~
總結
以上是生活随笔為你收集整理的amd 深度学习模型部署_Web服务部署深度学习模型-续集的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: easyexcel注解样式无效_【Jav
- 下一篇: 设置横坐标刻度_是不是快被Excel的时