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.

主站蜘蛛池模板: 71pao成人国产永久免费视频| 2021国产乱人伦在线播放 | 九九热精品免费视频| 无码丝袜人妻| 一区二区在线视频免费观看| 一区二区影院| 午夜性爽视频男人的天堂| 亚洲国产精品人久久电影| 四虎永久免费地址| 欧美在线视频不卡第一页| 欧美伦理一区| 国产精品蜜臀| 亚洲天堂视频在线观看| 少妇极品熟妇人妻专区视频| 久久精品电影| 久久亚洲高清国产| AⅤ色综合久久天堂AV色综合| 亚洲AⅤ无码日韩AV无码网站| 自慰网址在线观看| 谁有在线观看日韩亚洲最新视频 | 亚洲经典在线中文字幕| 午夜不卡视频| 婷婷亚洲综合五月天在线| 国产精品免费福利久久播放 | 自偷自拍三级全三级视频| 综合天天色| 久久亚洲黄色视频| 国产欧美中文字幕| 国产成人精品18| 亚洲熟女中文字幕男人总站| 国产草草影院18成年视频| 潮喷在线无码白浆| 欧美一道本| 国产凹凸视频在线观看| 日韩精品成人在线| 欧美不卡视频一区发布| 色哟哟国产精品一区二区| 国产精品一区在线观看你懂的| 91久草视频| 国产精品成人免费综合| 精品人妻AV区| 在线国产91| 韩国v欧美v亚洲v日本v| 先锋资源久久| 日本精品影院| 九月婷婷亚洲综合在线| 91亚洲视频下载| 亚洲欧美精品一中文字幕| 欧美在线综合视频| 久久夜色精品国产嚕嚕亚洲av| 久久99国产综合精品1| 国产精品视频白浆免费视频| www.91中文字幕| 57pao国产成视频免费播放| 欧美亚洲日韩不卡在线在线观看| 欧美一区二区三区欧美日韩亚洲| 午夜不卡视频| 久久免费观看视频| 亚洲综合色婷婷| 超清无码一区二区三区| 国产迷奸在线看| 国产特级毛片aaaaaaa高清| 国产精品所毛片视频| 国产成人喷潮在线观看| 青青久久91| 国产在线高清一级毛片| 一级毛片在线播放免费| 国产乱子伦视频在线播放| 欧美一区国产| 久久免费视频播放| 日韩成人免费网站| 高潮毛片免费观看| 人妻无码一区二区视频| 亚洲色精品国产一区二区三区| 91黄视频在线观看| 国产在线日本| 亚洲视频二| 成人综合网址| AV不卡无码免费一区二区三区| 91在线日韩在线播放| 日本欧美中文字幕精品亚洲| www.亚洲一区|