999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于flask+TensorFlow的手寫數(shù)字識別模型Web應(yīng)用開發(fā)

2019-01-06 06:38:08張磊李斌李臻
新一代 2019年22期

張磊 李斌 李臻

摘 要:手寫數(shù)字識別是研究圖像識別、深度學(xué)習(xí)技術(shù)的典型案例,本文中以手寫數(shù)字識別Web應(yīng)用程序開發(fā)為例,介紹了基于flask框架的TensorFlow+Python Web開發(fā)技術(shù)和相關(guān)的編程方法。

關(guān)鍵詞:flask框架;Python Web開發(fā);手寫數(shù)字識別

一、引言

圖像識別是深度學(xué)習(xí)技術(shù)最廣泛的應(yīng)用之一,手寫數(shù)字識別是學(xué)習(xí)和研究深度學(xué)習(xí)、圖像識別的典型案例,本文中使用TensorFlow(以下簡稱TF)框架訓(xùn)練手寫數(shù)字識別模型、Python語言作為Web開發(fā)工具,基于flask框架實現(xiàn)了一款手寫數(shù)字識別Web應(yīng)用程序,為TF模型在Web中部署和開發(fā)應(yīng)用提供參考。

二、模型訓(xùn)練和保存

手寫數(shù)字識別采用LeNet-5 CNN模型。LeNet-5由INPUT層、2個卷積層、2個池化層、3個全連接層構(gòu)成。INPUT層的輸入尺寸為32×32像素手寫數(shù)字圖像,手寫數(shù)字包含數(shù)字“0~9”,OUTPUT層輸出One-Hot格式的10分類結(jié)果。

訓(xùn)練模型的MNIST數(shù)據(jù)集中圖片尺寸為28×28像素,像素點用8位灰度值表示。由于LeNet-5模型INPUT層的輸入尺寸為32×32像素,MNIST數(shù)據(jù)集中原始圖像尺寸并不符合模型輸入要求,使用numpy庫(簡稱為np)中的數(shù)組填充函數(shù)np.pad()將原始圖像四周填充兩圈數(shù)字“0”,得到尺寸32×32像素的新圖像。MNIST數(shù)據(jù)集類別標簽?zāi)J是One-Hot格式。

TF是基于計算圖的框架,使用TF框架訓(xùn)練LeNet-5模型,根據(jù)模型結(jié)構(gòu)定義的神經(jīng)網(wǎng)絡(luò)前向傳播過程構(gòu)造出計算圖,計算圖中描述張量在節(jié)點之間從前到后的流動過程。訓(xùn)練模型在會話進行,調(diào)用tf.Session()可生成會話,并創(chuàng)建默認計算圖。在會話中不斷喂入數(shù)據(jù),反復(fù)執(zhí)行反向傳播優(yōu)化算法,確定最優(yōu)的模型參數(shù)。

模型訓(xùn)練完,將模型保存成TF檢查點。檢查點可在Web服務(wù)器端由程序調(diào)用,在TF中,tf.train.Saver對象的save()和restore()方法分別用于保存和恢復(fù)模型參數(shù)。

三、Web應(yīng)用程序中使用TF模型

將手寫數(shù)字識別的TF模型部署到Web中,前端負責獲取用戶在頁面上手寫數(shù)字圖像并預(yù)處理,再向服務(wù)器發(fā)出AJAX請求,請求內(nèi)容為待識別的圖像。服務(wù)器端程序生成TF會話并加載訓(xùn)練好的模型,調(diào)用相應(yīng)的視圖函數(shù)將請求數(shù)據(jù)送入TF會話中計算,最后將識別結(jié)果異步回傳到前端。

(一)前端頁面功能實現(xiàn)

頁面文件中主要包括繪制畫布、預(yù)覽畫布、提交按鈕、清除按鈕和用于顯示分類結(jié)果的表格等界面元素。

繪制畫布是一個用canvas標簽實現(xiàn)的320×320像素的畫布。使用canvas對象的getContext()方法可得到一個繪圖環(huán)境,該環(huán)境提供了在畫布上繪圖的方法和屬性。繪制畫布綁定鼠標事件的監(jiān)聽器,當用戶按下并拖動鼠標時,可將鼠標移動的路徑(經(jīng)過的像素點)呈現(xiàn)到繪制畫布上,這樣用戶可在繪制畫布上使用鼠標書寫數(shù)字。手寫數(shù)字圖像存儲為uint8類型的像素矩陣,每一個位置的像素點包括R、G、B、A四個通道值。

模型INPUT層輸入圖像為尺寸32×32像素的灰度圖,尺寸為320×320像素原始手寫數(shù)字圖像應(yīng)在前端完成尺寸調(diào)整和灰度化等預(yù)處理,再發(fā)送給服務(wù)器,以便減少向服務(wù)器傳輸?shù)膱D像數(shù)據(jù)量。

預(yù)處理后的手寫數(shù)字圖像存儲在JavaScript數(shù)組中,并在預(yù)覽畫布(canvas標簽對象)中顯示。使用JSON.stringify()方法將JavaScript數(shù)組中圖像數(shù)據(jù)轉(zhuǎn)換為JSON字符串形式的數(shù)據(jù),再將這些數(shù)據(jù)以POST方式向服務(wù)器特定URL發(fā)送AJAX請求。

(二)服務(wù)器端程序功能實現(xiàn)

服務(wù)器程序主要功能:一是生成TF會話并載入模型(模型結(jié)構(gòu)和模型參數(shù));二是渲染前端頁面、響應(yīng)前端請求、處理數(shù)據(jù)以及返回識別的結(jié)果。

服務(wù)程序生成會話并將模型結(jié)構(gòu)導(dǎo)入至?xí)挼哪J圖,調(diào)用tf.train.import_meta_graph()函數(shù)導(dǎo)入模型結(jié)構(gòu),再還原模型參數(shù)。利用tf.get_default_graph().get_tensor_by_name()函數(shù)可通過節(jié)點名稱獲取到模型INPUT層的輸入變量x與keep_prob、OUTPUT層的輸出變量y。

flask中路由解析模塊Werkzeug可將URL請求映射至相應(yīng)的處理函數(shù)中完成業(yè)務(wù)邏輯和數(shù)據(jù)的處理。手寫數(shù)字識別前端頁面請求的數(shù)據(jù)傳入服務(wù)器端flask實例程序,由Werkzeug對URL進行路由解析,找到分類識別視圖函數(shù)。視圖函數(shù)中使用flask.request.json獲取手寫數(shù)字圖像數(shù)據(jù),對數(shù)據(jù)做歸一化處理后喂入模型,可返回手寫數(shù)字的分類識別結(jié)果。

四、結(jié)語

本文以手寫數(shù)字識別Web應(yīng)用程序為例,介紹了TF機器學(xué)習(xí)模型應(yīng)用到基于flask框架的Python Web開發(fā)中的關(guān)鍵技術(shù)和編程方法,在TF+Web的應(yīng)用場景下,Web后端和TF程序統(tǒng)一使用Python語言開發(fā),編程簡單高效。

參考文獻:

[1]李超,徐云龍,華中偉,等.一種基于Python Flask的Web服務(wù)器端設(shè)計[J].信息與電腦(理論版),2019,8:87-88.

[2]馬旭,王淑.基于Flask框架的展示型網(wǎng)站的設(shè)計與實現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用,2018(11):137-138.

主站蜘蛛池模板: 九色最新网址| 99在线视频网站| 国产永久在线视频| 国产导航在线| 在线观看无码a∨| 欧美人人干| 欧美日韩国产精品综合| 一级全黄毛片| 日本www在线视频| 九九热精品视频在线| 成人日韩视频| 国产成人亚洲欧美激情| 一本视频精品中文字幕| 国产成人1024精品下载| 久久婷婷色综合老司机| 亚洲一道AV无码午夜福利| 成人无码一区二区三区视频在线观看| 国产精品亚洲天堂| 国产精品lululu在线观看| 欧美一区精品| 无码福利视频| 女高中生自慰污污网站| 国产精品一区二区国产主播| 人禽伦免费交视频网页播放| 亚洲第一区欧美国产综合| 亚洲女同欧美在线| 深夜福利视频一区二区| 无码中文字幕精品推荐| 视频一区亚洲| 亚洲伦理一区二区| 青草视频免费在线观看| 一级毛片a女人刺激视频免费| 毛片免费高清免费| 伊人激情综合| 99偷拍视频精品一区二区| 97免费在线观看视频| 精品国产免费第一区二区三区日韩| 亚洲三级视频在线观看| 精品中文字幕一区在线| 在线中文字幕日韩| 婷婷综合色| 国产污视频在线观看| 久久五月视频| 国产欧美亚洲精品第3页在线| 欧美精品一区二区三区中文字幕| 在线日韩日本国产亚洲| 永久成人无码激情视频免费| 欧美精品高清| 欧美成在线视频| 国产亚洲高清视频| 91精品综合| 成人午夜福利视频| 一级高清毛片免费a级高清毛片| 国产美女在线免费观看| 国产乱人伦偷精品视频AAA| 精品久久综合1区2区3区激情| 日韩在线播放欧美字幕| 人妻免费无码不卡视频| 久久频这里精品99香蕉久网址| 亚洲欧洲综合| 亚洲清纯自偷自拍另类专区| 国产一在线| 国产午夜精品一区二区三区软件| 日本高清有码人妻| 在线欧美一区| 亚洲AⅤ无码国产精品| 国产在线观看99| 国产在线精品人成导航| 精品国产成人国产在线| 在线看片免费人成视久网下载| 国产丝袜91| 亚洲人精品亚洲人成在线| 伊人精品视频免费在线| 亚洲第一黄片大全| 国产福利观看| 免费无码AV片在线观看中文| 四虎永久在线| 国产日韩精品欧美一区喷| 亚洲精品777| 久久午夜夜伦鲁鲁片无码免费| 尤物在线观看乱码| 久精品色妇丰满人妻|