版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
目錄
1引言............................................................................................................................1
1.1項目背景......................................................................................................1
1.2開發(fā)環(huán)境與工具..........................................................................................2
1.2.1Python簡介..........................................................................................2
1.2.2Tensorflow簡介..................................................................................2
1.2.3Pycharm簡介........................................................................................3
1.2.4Python第三方庫簡介..........................................................................4
2需求分析....................................................................................................................5
2.1可行性需求分析..........................................................................................5
2.2數(shù)據(jù)集采集功能分析..................................................................................7
2.3關(guān)鍵技術(shù)分析..............................................................................................7
2.3.1數(shù)據(jù)采集技術(shù).......................................................................................7
2.3.2數(shù)據(jù)集可視化技術(shù)...............................................................................8
2.3.3卷積神經(jīng)網(wǎng)絡(luò)原理...............................................................................8
2.3.4Web框架技術(shù)(Flask/Django)........................................................9
3數(shù)據(jù)采集....................................................................................................................9
3.1數(shù)據(jù)集需求分析..........................................................................................9
3.2數(shù)據(jù)集獲取分析........................................................................................11
3.3編程實現(xiàn)....................................................................................................12
4數(shù)據(jù)集處理..............................................................................................................12
4.1數(shù)據(jù)采集....................................................................................................13
4.2數(shù)據(jù)預(yù)處理................................................................................................13
4.3切分訓(xùn)練集和測試集................................................................................14
5模型構(gòu)建及評估分析..............................................................................................15
5.1模型構(gòu)建....................................................................................................15
5.1.1模型網(wǎng)絡(luò)結(jié)構(gòu).....................................................................................16
5.1.2模型訓(xùn)練.............................................................................................18
I
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
5.2模型編譯....................................................................................................19
5.2.1優(yōu)化器設(shè)置.........................................................................................19
5.2.2損失函數(shù)設(shè)置.....................................................................................20
5.3模型訓(xùn)練與調(diào)優(yōu)........................................................................................20
5.3.1模型訓(xùn)練設(shè)置.....................................................................................20
5.3.2學(xué)習(xí)率調(diào)優(yōu).........................................................................................21
5.3.3batch_size設(shè)置................................................................................21
5.4模型部署....................................................................................................21
5.4.1系統(tǒng)前端設(shè)計.....................................................................................21
5.4.2設(shè)計效果展示及分析.........................................................................22
5.4.3模型評估.............................................................................................24
6小結(jié)..........................................................................................................................25
參考資料.........................................................................................................................27
II
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
基于深度學(xué)習(xí)CNN模型的服飾分類方法設(shè)計
1引言
現(xiàn)在世界是這樣一個知識多元化發(fā)展的信息社會,目前的關(guān)于圖像人工智
能機器學(xué)習(xí)涉及最多廣泛的話題就是圖像的分類及識別,圖像的分類也是未來
計算機視覺分析和大規(guī)模數(shù)字圖像智能處理技術(shù)的最后一個核心基本技術(shù)問題。
傳統(tǒng)上的圖像自動分類提取方法需要通過人工設(shè)計自動提取出圖像特征,而一
些基于計算機深度機器學(xué)習(xí)模型的智能圖像特征分類提取方法已經(jīng)能夠做到自
動識別提取圖像特征,其中卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)(CNN)法近年來已取得出了十分驚
人的成績。卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionNeuralNetwork,CNN)的發(fā)展始于20世
紀(jì)80年代。在此之前,處理圖像數(shù)據(jù)通常使用到的都是全連接的神經(jīng)網(wǎng)絡(luò),然
而沒有全連接層參數(shù)的太多,直接可能導(dǎo)致圖像計算的速度大大變得慢,而且
也容易導(dǎo)致產(chǎn)生高過的擬合問題。因此,有效的圖像處理還需要具有更豐富合
理結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。隨著數(shù)值計算效率得到巨大提升,CNN處理數(shù)字圖像數(shù)
據(jù)的巨大潛能被充分發(fā)現(xiàn)挖掘。2012年,基于CNN的Alexnet模型在國際
ImageNet圖像分類大賽中也一舉就獲得到了第一名,模型精度領(lǐng)先世界同類第
二名11個%。接著,VGG、GoogLeNet、ResNet也相繼被提出。此后,對CNN的
深入一直在持續(xù)。而這個服飾分類方法設(shè)計是圖像分類識別的一個分支,所運
用的就是CNN模型[1]。
1.1項目背景
隨著人類現(xiàn)代的科技生活的水平不斷在進(jìn)步,網(wǎng)購平臺規(guī)模的不斷的增加,
用戶已經(jīng)可以直接通過手機端在各種網(wǎng)絡(luò)在線購物的平臺網(wǎng)站上去購買一些衣
物,就像需要挑選一些衣服一般也基本就是按照分類去選擇,還有就是隨著現(xiàn)
在社會文明的在不斷在進(jìn)步,人類生存的一些心理壓力也是不斷在擴大,所以
網(wǎng)上也有很多一些相關(guān)的一些休閑娛樂小游戲的運用人群也就變得的不斷在廣
泛,受眾人群已經(jīng)從一些女性,小孩變成的現(xiàn)在更加的大眾化,所以在網(wǎng)絡(luò)時
代,服飾的分類及識別能力也隨之變得更重要復(fù)雜起來的了[2]。服裝類別的智
能處理是目前提高用戶體驗的一個重要方面。隨著神經(jīng)網(wǎng)絡(luò)的不斷發(fā)展,神經(jīng)
網(wǎng)絡(luò)在圖像分類領(lǐng)域得到了廣泛的應(yīng)用。因此,人們將神經(jīng)網(wǎng)絡(luò)應(yīng)用于服裝分
類,所提出的神經(jīng)網(wǎng)絡(luò)通常提取圖像特征并將其用于分類。
1
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
近年來,深度學(xué)習(xí)技術(shù)的不斷發(fā)展為圖像分類與識別領(lǐng)域帶來了良好的技
術(shù)和應(yīng)用。其中卷積神經(jīng)網(wǎng)絡(luò)(CNN)已成為圖像分類和識別中應(yīng)用最廣泛的模型
之一,它能有效的處理圖片數(shù)據(jù),對圖像分類識別的計算量有所減少,而且在
對服飾分類識別的發(fā)展中,CNN模型是比較適用的。
我的畢業(yè)設(shè)計就是針對市面上出現(xiàn)了許多的休閑小游戲都是關(guān)于分類的小
游戲,其中最為普遍的就是服飾分類和穿搭小游戲,它在剛剛發(fā)展的時候更受
女性與小孩的喜愛,現(xiàn)在受眾面更為廣泛,基本上大眾化?,F(xiàn)在也普遍用于購
物網(wǎng)上進(jìn)行服飾的分類與選擇??傊诰W(wǎng)絡(luò)時代受眾面還是比較廣的。
1.2開發(fā)環(huán)境與工具
1.2.1Python簡介
Python是一種高級編程語言,它屬于面向?qū)ο蟮恼Z言,不像C語言那樣死
板,它是一種高級的編程語言。它可以編寫服務(wù)器端程序、Web應(yīng)用程序、游
戲和其他類似的程序。它也可以用于數(shù)據(jù)科學(xué)、人工智能、機器學(xué)習(xí)等領(lǐng)域。
它是一個解釋性的、簡潔的、面向?qū)ο蟮木幊陶Z言,是一種高級解釋性語言,
可以在各種平臺上運行。Python的設(shè)計理念是,通過提供易于使用和可擴展的
函數(shù),使程序開發(fā)變得更加容易。Python基于對象編程的概念,使你可以像其
他編程語言一樣,在你的應(yīng)用程序中定義對象和屬性,同時保持對象的獨立性。
這種理念使Python被用于一些簡單、功能有限的程序開發(fā)工作中。
Python是一個解釋性語言,其語法非常簡單,具有極強的可讀性。Python
用模塊來組織代碼,這使得它非常容易閱讀和使用。Python有很多強大的庫和
工具可供使用。因此,可以使用這些庫和工具來構(gòu)建自己的程序[3]。
1.2.2Tensorflow簡介
TensorFlow是一種面向深度學(xué)習(xí)的編程語言,它能夠用于各種大規(guī)模數(shù)據(jù)
的分析,訓(xùn)練和部署。使用TensorFlow的開發(fā)者能夠輕松地構(gòu)建復(fù)雜的模型,
并將它們應(yīng)用到各種環(huán)境中。下面我們就來介紹一下TensorFlow是如何工作的。
TensorFlow是一個開源框架,它允許用戶編寫和調(diào)試自己的深度學(xué)習(xí)模型,
并且它提供了一個端到端的編程模型。用戶可以使用它構(gòu)建自己的神經(jīng)網(wǎng)絡(luò)模
型,然后在深度學(xué)習(xí)環(huán)境中運行它。它的模塊有推理模塊、訓(xùn)練模塊、模型管
理和調(diào)參、數(shù)據(jù)管理和標(biāo)注、API(應(yīng)用程序接口)、其中推理模塊提供了一個
可視化平臺,可以幫助用戶以可視化方式快速構(gòu)建自己的深度學(xué)習(xí)模型。用戶
2
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
可以在這個平臺上查看自己構(gòu)建的神經(jīng)網(wǎng)絡(luò)模型,并根據(jù)需要對它們進(jìn)行微調(diào)
和優(yōu)化。另外,推理模塊還提供了一系列工具和API,以幫助用戶構(gòu)建和調(diào)參深
度學(xué)習(xí)模型。訓(xùn)練模塊提供了一個訓(xùn)練環(huán)境,讓用戶能夠輕松地將自己編寫的
模型部署到生產(chǎn)環(huán)境中。在這個環(huán)境中,用戶可以使用TensorFlow提供的API
對深度學(xué)習(xí)模型進(jìn)行訓(xùn)練。訓(xùn)練模塊還提供了一個自動推理環(huán)境,用戶可以通
過該環(huán)境在生產(chǎn)環(huán)境中使用模型來訓(xùn)練和部署自己的神經(jīng)網(wǎng)絡(luò)。此外,用戶還
可以在這個自動推理環(huán)境中使用一些預(yù)訓(xùn)練好的模型來進(jìn)行微調(diào)和優(yōu)化[4]。
TensorFlow提供了一個功能強大的標(biāo)注工具(DataFrame),該工具允許用
戶對已有的標(biāo)注進(jìn)行檢查和修改,以確保它們符合要求。
TensorFlow還提供了一個用于計算標(biāo)注結(jié)果的機器學(xué)習(xí)庫(MLLibrary),
該庫支持各種主流模型(如卷積神經(jīng)網(wǎng)絡(luò)CNN)和多種監(jiān)督學(xué)習(xí)方法(如梯度下
降和Adam等)[5]。用戶可以使用TensorFlow來構(gòu)建深度學(xué)習(xí)模型,然后將其
部署到生產(chǎn)環(huán)境中。在部署深度學(xué)習(xí)模型之前,用戶需要先將其部署到生產(chǎn)環(huán)
境中。用戶可以使用TensorFlow的API對深度學(xué)習(xí)模型進(jìn)行操作,包括數(shù)據(jù)處
理,參數(shù)設(shè)置和調(diào)參等。具體的API包括:數(shù)據(jù)處理(DataProcessing):用
戶可以在TensorFlow中處理一些常規(guī)的數(shù)據(jù)操作,如添加,刪除和修改數(shù)據(jù)等。
參數(shù)設(shè)置(ParametersSetting):用戶可以設(shè)置深度學(xué)習(xí)模型的一些關(guān)鍵參數(shù),
例如激活函數(shù)、權(quán)重、偏置和隱藏層節(jié)點等[6]。
1.2.3Pycharm簡介
Pycharm是一個面向?qū)ο蟮拈_發(fā)環(huán)境,提供了一系列功能強大的面向?qū)ο缶?/p>
程(OOP)庫,用于數(shù)據(jù)分析、圖形圖像處理和機器學(xué)習(xí)等應(yīng)用程序。Pycharm
的目標(biāo)是支持高效的代碼編寫和部署,同時保持與Windows和Linux環(huán)境的良
好兼容性[7]。
它是一款功能強大、性能卓越、界面友好、易于使用的Python庫,它不僅
支持面向?qū)ο缶幊蹋∣OP),而且還提供了很多工具和高級特性。在很多情況下,
它可以直接取代其他庫,如Perl、Matlab、Mathematica、R等。
它還可以通過在其基礎(chǔ)上構(gòu)建應(yīng)用程序來簡化開發(fā)過程,為開發(fā)人員提供
了許多強大的工具。與其他庫相比,它具有以下一些優(yōu)點:封裝了大量有用的
功能,如GUI控件和數(shù)據(jù)結(jié)構(gòu)、UML模型等。提供了很多強大的工具和函數(shù),
如NumPy、SciPy和Scikit-learn等。通過使用可視化工具,如VisualStudio
Code,可以很容易地將Python代碼轉(zhuǎn)換為可視化界面。提供了豐富的庫,包括
PyTorch和TensorFlow等。提供了大量的API和接口,包括pip、wiki等。
3
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
支持多種數(shù)據(jù)源,如Matlab、Python和R等。支持多種數(shù)據(jù)結(jié)構(gòu)和算法。
1.2.4Python第三方庫簡介
Matplotlib:它是Python的2D繪圖庫,在不同平臺上生成不同打印格式和
交互式環(huán)境中生成的告質(zhì)量圖形。它作用于Python腳本、Python和IPython
shell、Jupyter、web應(yīng)用程序服務(wù)器和四組圖形用戶界面的工具包。它進(jìn)行可
視化和數(shù)據(jù)分析是很適用的。這里用了matplotlib中的pyplot函數(shù)[8]。
NumPy:它是Python中的一個科學(xué)計算庫,為我們提供了高效的數(shù)組操作
和廣泛的數(shù)學(xué)函數(shù),它是在科學(xué)計算、數(shù)據(jù)分析和機器學(xué)習(xí)等領(lǐng)域中廣泛使用
的工具。它的基本使用方法包括數(shù)組的創(chuàng)建、數(shù)組的切片、數(shù)組的索引和運算
等,它有廣播、聚合、通用函數(shù)等高級功能[9]。
Tensorflow:是一個由GoogleArtificialIntelligence(GoogleBrain)
開發(fā)并維護(hù)的深度學(xué)習(xí)平臺。它提供了一個可擴展的編程環(huán)境,可以用于構(gòu)建
各種類型的機器學(xué)習(xí)模型。它具有高效的計算能力和易于使用的API,使得深度
學(xué)習(xí)變得更加便捷和高效。它是一個基于圖形計算的數(shù)值計算庫,能夠?qū)崿F(xiàn)機
器學(xué)習(xí)任務(wù)中的各種算法,包括神經(jīng)網(wǎng)絡(luò)、決策樹、SVM等,并能夠在GPU上進(jìn)
行高效計算。此外,TensorFlow還具有跨平臺、分布式計算和自動求導(dǎo)等特點,
為機器學(xué)習(xí)的開發(fā)者提供了更高效、更方便的工具。這里用的是GPU[10]。
Keras:是一種高層次的神經(jīng)網(wǎng)絡(luò)API,它的設(shè)計目的是使得深度學(xué)習(xí)模型
的創(chuàng)建和訓(xùn)練變得更加快速、簡單和靈活。它也支持多種深度學(xué)習(xí)模型,包括
卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)等,并且可以方便地與其他深度學(xué)習(xí)框架配合使
用。除此之外,它還具有易于使用、文檔齊全、社區(qū)活躍等優(yōu)勢,因此受到了
廣泛的歡迎和應(yīng)用[11]。
datasets:是Keras的數(shù)據(jù)集項目用到的數(shù)據(jù)集就來自這里。
Layers:它用于CNN模型中的池化層、卷積層、輸出層、全連接層的操作。
Models:這里用于模型的打印、編譯、訓(xùn)練、預(yù)測操作。
Flask:提供了輕量級的Web應(yīng)用框架,支持各種類型的Web開發(fā)任務(wù),如
路由、模板、數(shù)據(jù)庫等。
Requests:提供方便的HTTP請求和響應(yīng)功能,支持不同類型的HTTP請求
和響應(yīng)。
BeautifulSoup:提供了方便的HTML和XML解析功能,支持各種類型的
HTML和XML文檔解析和處理。
總之,Python擁有豐富的第三方庫生態(tài)系統(tǒng),這些庫可以幫助開發(fā)者更加
4
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
高效地開發(fā)和部署應(yīng)用程序,提高開發(fā)效率和代碼質(zhì)量。
2需求分析
2.1可行性需求分析
1.技術(shù)可行性
Python編程語言是指一種易于讀者理解、動態(tài)擴展的面向?qū)ο竽_本語言。
被廣泛應(yīng)用于科學(xué)計算、Web開發(fā)、數(shù)據(jù)分析等領(lǐng)域。這讓它對于爬蟲領(lǐng)域有著
巨大的優(yōu)勢,是當(dāng)前爬蟲的首選語言。本項目是使用python通過python第三
方庫進(jìn)行數(shù)據(jù)采集、數(shù)據(jù)分析和數(shù)據(jù)可視化顯示[12]。
PyCharm是一個Python的腳本語言,它的目的是為了讓用戶更好地使用
Python。因為我們的程序員并不知道如何編寫和解釋Python代碼,所以他們需
要一個工具來幫助他們。它就是這樣一個工具,它能幫助我們在Python的環(huán)境
中開發(fā)代碼。此外,IDE提供了一些高級功能,以支持Django框架下的專業(yè)web
開發(fā)。pycham是一款對人操作十分友好的軟件,利用它對數(shù)據(jù)可視化進(jìn)行展示
和分析也十分便捷[13]。
卷積神經(jīng)網(wǎng)絡(luò)-CNN最擅長圖像處理。它的靈感來源于人類視覺神經(jīng)系統(tǒng)。
它可以有效地將數(shù)據(jù)量大的圖像降維為少量,有效地保留圖像特征,并符合圖
像處理的原則。
2.項目可行性
現(xiàn)在市面上出現(xiàn)了許多的休閑小游戲都是關(guān)于分類的小游戲,其中最為普
遍的就是服飾分類和穿搭小游戲,它更受女生喜愛?,F(xiàn)在也普遍用于購物網(wǎng)上
進(jìn)行服飾的分類與選擇。所以這個項目受眾面很廣。而且由于社會網(wǎng)絡(luò)的發(fā)達(dá),
大家娛樂需求,生活購買需求大多都在網(wǎng)上進(jìn)行,圖像分類識別需求增大,其
中服飾分類識別也是提升網(wǎng)友體驗重要的一環(huán),目前基于深度學(xué)習(xí)的CNN模型
更適用于服飾分類識別方法設(shè)計,與以往的模型設(shè)計技術(shù)相比,CNN模型可以有
效地將數(shù)據(jù)量大的圖像降維為數(shù)據(jù)量小的圖像,有效地保留圖像特征,并符合
圖像處理的原則。
CNN模型的搭建使用到的框架是按照Python的語言進(jìn)行設(shè)計出來的,
Python中擁有許多豐富的且十分強大易用的框架庫,比如經(jīng)常要被運用到的庫
Matplotlib、Tensorflow、NumPy等,這些框架庫都對于CNN模型的搭建都提供
到了一些很好的數(shù)據(jù)和準(zhǔn)備等工作,且Python在人工智能兩大技術(shù)范疇領(lǐng)域內(nèi)
的機器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)、深度機器學(xué)習(xí)技術(shù)等許多方面目前都是最為主流的編
5
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
程語言,得到最為廣泛深入的廣泛支持開發(fā)和商業(yè)應(yīng)用。不應(yīng)該有太多基于
Python的web開發(fā)框架,比如著名的Django、Tornado和Flask。Python+Django
架構(gòu)具有廣泛易于使用開發(fā)的應(yīng)用程序、快速和可靠的應(yīng)用的開發(fā)及執(zhí)行的速
度和相對于較高低程度的學(xué)習(xí)的障礙,可以很輕松地幫助到您來實現(xiàn)并快速可
靠的構(gòu)建一個可用的web應(yīng)用服務(wù)。Python框架已經(jīng)非常成功地支持了目前各
種的主流網(wǎng)絡(luò)協(xié)議,因此它會更快經(jīng)常也會更好被人們廣泛的用于編寫大型服
務(wù)器軟件程序和用來構(gòu)建大型Web網(wǎng)絡(luò)爬蟲。Twisted第三方庫支持異步的網(wǎng)絡(luò)
爬蟲編程的工具和支持當(dāng)前大多數(shù)流行的標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議(包括客戶端和服務(wù)器),
并同時還提供出了其它許多可以廣泛用于編寫高性能服務(wù)器軟件代碼的工具[14]。
總之,基于深度學(xué)習(xí)CNN模型的服飾分類識別的方法設(shè)計是可以實現(xiàn)的,且
有運用價值。
3.操作可行性
基于CNN模型的服飾分類識別模型的操作可行性很高,主要體現(xiàn)在以下幾
個方面:
(1)編程語言:Python目前是目前在深度機器語義學(xué)習(xí)及分析的領(lǐng)域里面是
目前最流行的用的一種編程語言之一,且以其的語法通俗易懂,對于各種網(wǎng)絡(luò)
協(xié)議語言的支持等方面來說也已經(jīng)算是的很完善的一種完善。
(2)深度學(xué)習(xí)框架:TensorFlow:Google的深度學(xué)習(xí)框架,pyplot可視
化很方便,數(shù)據(jù)和模型并行化好,速度快。Keras:對于模型的訓(xùn)練中我們有許
多我們已經(jīng)訓(xùn)練搭建好過的模型,我們完全可以利用對一些已有搭建的模型來
進(jìn)行一些優(yōu)化修改而得到符合我們真正想要搭建的模型,從而達(dá)到提高我們模
型進(jìn)行搭建過程和模型訓(xùn)練中的訓(xùn)練效率[15]。另外,當(dāng)發(fā)現(xiàn)我們學(xué)習(xí)的數(shù)據(jù)不
足的時候,使用遷移式學(xué)習(xí)的思想也是其中一個很好的學(xué)習(xí)想法。
(3)數(shù)據(jù)預(yù)處理:數(shù)據(jù)預(yù)處理是深度學(xué)習(xí)中非常重要的一步,但是可以使
用Python中的庫TensorFlow和NumPy庫等進(jìn)行處理,非常方便。
(4)訓(xùn)練和測試:在Keras中,可以使用GPU加速訓(xùn)練過程,提高訓(xùn)練速
度。此外,Keras提供了豐富的可視化工具,可以對訓(xùn)練和測試過程進(jìn)行實時監(jiān)
控和調(diào)整。
(5)模型優(yōu)化:Keras中的Models模塊提供了多種優(yōu)化算法和正則化方法,
可以方便地進(jìn)行模型優(yōu)化和調(diào)整。
總之,基于CNN深度學(xué)習(xí)模型的服裝分類和識別方法對于設(shè)計和操作可行
性非常實用。它們可以有效地將大數(shù)據(jù)減少到小數(shù)據(jù),保持圖像特性,并符合
圖像處理原理。它們也是深度學(xué)習(xí)領(lǐng)域最常用的技術(shù)之一。
6
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
2.2數(shù)據(jù)集采集功能分析
該項目的數(shù)據(jù)集來自天貓上搜索的“衣服”等關(guān)鍵詞,通過爬蟲技術(shù)爬取
了衣服圖片然后分類為訓(xùn)練集、測試集、驗證集,數(shù)據(jù)清洗后得到70000條記
錄。用于進(jìn)行訓(xùn)練是對比準(zhǔn)確率。
主要獲得了以下信息:T恤/上衣,褲子,套頭衫,連衣裙,外套,涼鞋,
襯衫,運動鞋,包,短靴。主要通過這些數(shù)據(jù)來分析對比識別的準(zhǔn)確率來確認(rèn)
模型的可靠性,以及模型的可行性。同時通過對比去說明此項目的市場是很廣泛
的。
2.3關(guān)鍵技術(shù)分析
2.3.1數(shù)據(jù)采集技術(shù)
獲取數(shù)據(jù)集我用到是網(wǎng)絡(luò)爬蟲技術(shù),這里用到的庫主要有time,requests,
urllib,BeautifulSoup等。網(wǎng)絡(luò)爬蟲大致分為四類:
通用的網(wǎng)絡(luò)爬蟲:又通常稱為全網(wǎng)網(wǎng)絡(luò)爬蟲,其特性在采集網(wǎng)絡(luò)數(shù)據(jù)時,
由部分種子URL直接擴展到覆蓋整個網(wǎng)絡(luò)的網(wǎng)站全部頁面,主要被應(yīng)用于網(wǎng)絡(luò)
搜索引擎數(shù)據(jù)信息的快速采集。這種網(wǎng)絡(luò)爬蟲要求有更廣泛深度的網(wǎng)絡(luò)數(shù)據(jù)快
速收集技術(shù)和持續(xù)大量的網(wǎng)絡(luò)數(shù)據(jù)的收集。它同樣對數(shù)據(jù)信息采集的速度準(zhǔn)確
性和數(shù)據(jù)存儲的空間安全性提出了同樣很高程度的嚴(yán)格要求,通常還需要深入
的遍歷網(wǎng)站資源。例如,Apache的一個子項目Nutch便是一個簡單高效易用的
通用分布式網(wǎng)絡(luò)爬蟲框架,其主要使用分布式爬蟲的方式去采集網(wǎng)絡(luò)數(shù)據(jù)。[16]
聚焦網(wǎng)絡(luò)爬蟲:也有人稱為主題網(wǎng)絡(luò)爬蟲,指用戶有可選擇針對性地來收集
那些與其預(yù)先被定義好的網(wǎng)絡(luò)主題相關(guān)資源的頁面。與其它通用類網(wǎng)絡(luò)爬蟲工
具相比,以專注聚焦于網(wǎng)絡(luò)爬蟲工具為開發(fā)重點提供的針對網(wǎng)絡(luò)資源所收集到
的相關(guān)資源內(nèi)容較少,主要被用于滿足一些特定網(wǎng)絡(luò)人群中對某個特定的領(lǐng)域
信息搜索的需求。在聚焦網(wǎng)絡(luò)爬蟲中,需要制定過濾策略,過濾所有與給定搜
索主題內(nèi)容無關(guān)內(nèi)容的頁面[16]。
增量網(wǎng)絡(luò)爬蟲:它是指對下載的網(wǎng)頁采用增量更新,對只收集新的或修改過
的網(wǎng)頁的下載網(wǎng)頁使用增量更新。增量網(wǎng)絡(luò)爬蟲技術(shù)可以確保在某一定的程度
意義上能確保被掃描過的網(wǎng)站頁面信息盡可能最新,并且在歷史服務(wù)器上已收
集信息的網(wǎng)站頁面也不需要再次重復(fù)地收集。增量網(wǎng)絡(luò)爬蟲技術(shù)避免了重復(fù)的
收集網(wǎng)站數(shù)據(jù),并還可以進(jìn)一步縮短搜索時間消耗和搜索空間資源消耗。針對
7
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
于小規(guī)?;蛘咛囟愋途W(wǎng)站上的實時數(shù)據(jù)信息采集,在設(shè)計網(wǎng)絡(luò)實時爬蟲庫時,
可預(yù)先構(gòu)建了一個能基于時間戳來判斷數(shù)據(jù)庫是否繼續(xù)更新數(shù)據(jù)的實時數(shù)據(jù)庫,
通過預(yù)先定義一個時間戳數(shù)據(jù)序列,確定該程序是否需要在更新實時數(shù)據(jù)庫信
息中含有的時間戳數(shù)據(jù)信息序列的同時再繼續(xù)收集該時間戳信息[16]。
深度網(wǎng)絡(luò)爬蟲:這主要是基于Deep的Web爬蟲,大多數(shù)的內(nèi)容信息無法簡
單通過靜態(tài)鏈接方式獲得,只有在向用戶提交表單信息后用戶才能成功訪問網(wǎng)
頁[16]。
這里用到的是深度網(wǎng)絡(luò)爬蟲技術(shù)。
2.3.2數(shù)據(jù)集可視化技術(shù)
圖2-1Matplotlib中的pyplot函數(shù)
2.3.3卷積神經(jīng)網(wǎng)絡(luò)原理
卷積神經(jīng)網(wǎng)絡(luò)系統(tǒng)技術(shù)(ConvolutionalNeuralNetworks,簡稱CNN)一般是
指一種深度反饋式的神經(jīng)網(wǎng)絡(luò)系統(tǒng)技術(shù)(FeedforwardNeuralNetworks)的技術(shù),
其的最大技術(shù)特點有之一主要是它具有局部連接、權(quán)重分享技術(shù)特點等。它在
目前也是中國最為完善具有一定國際代表性價值的復(fù)雜圖像深度機器學(xué)習(xí)技術(shù)
算法框架之一,擅長并適用于各類與復(fù)雜的圖像視覺分割技術(shù)相關(guān)專業(yè)領(lǐng)域復(fù)
雜的深度圖像機器學(xué)習(xí)算法技術(shù)問題,特別是對尤其是在復(fù)雜的圖像視覺任務(wù)
識別,如對復(fù)雜的圖像的分類,目標(biāo)對象的檢測及識別等方面的復(fù)雜各種深度
圖像視覺任務(wù),如對復(fù)雜的圖像視覺的分割,有取得很強顯著的效果的算法技
術(shù)改進(jìn),是在國內(nèi)的目前的使用范圍最為應(yīng)用廣泛的機器學(xué)習(xí)模型框架是之一。
2.3.4Web框架技術(shù)(Flask/Django)
flask是一個輕量級的、高可擴展的、異步的Java服務(wù)框架,它可以在任
何平臺上使用,并且在不同平臺之間無縫集成。Flask提供了一系列高效的功能
和特性,如:
8
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
可伸縮性:可配置的API,以滿足開發(fā)人員對應(yīng)用程序的不同需求。Flask
提供了靈活且健壯的API,可以很容易地實現(xiàn)API之間的數(shù)據(jù)共享和集成。另外,
Flask還支持水平擴展,可以根據(jù)業(yè)務(wù)需求定制API[17]。
高并發(fā):可通過一個統(tǒng)一的方式來處理和管理大量請求。Flask支持高并發(fā),
包括高并發(fā)請求(每個請求都有一個不同的id)和并發(fā)操作(在請求之間插入
或刪除數(shù)據(jù))[17]。
高性能:Flask是一個基于SpringBoot的框架,使用Spring提供的MVC
模式進(jìn)行設(shè)計。Flask是一個輕量級應(yīng)用程序框架,它可以無縫地集成到所有平
臺上,并且不需要任何特殊技術(shù)就可以實現(xiàn)高性能[17]。
可重用性:通過在Flask中使用SpringBoot的方式來設(shè)計、開發(fā)和部署
應(yīng)用程序是一種很好的方法。Flask提供了一組標(biāo)準(zhǔn)組件,它們可以為其他應(yīng)用
程序提供一個通用模型來使用[18]。
安全性:Flask提供了完整的安全功能和配置選項,以保護(hù)用戶數(shù)據(jù)和應(yīng)
用程序免受網(wǎng)絡(luò)攻擊、SQL注入和其他惡意攻擊[18]。
Flask可以作為一個成熟且可靠的應(yīng)用程序框架來使用,而且它非常易于使
用。在一些情況下,它可能是一個很好的解決方案來處理大量數(shù)據(jù)、復(fù)雜業(yè)務(wù)
邏輯和安全問題[18]。
總的來說,F(xiàn)lask是一個功能強大且易于使用的PythonWeb框架,適合小
型Web應(yīng)用程序的開發(fā)。它的特征是靈活、可擴展,非常適合學(xué)習(xí)PythonWeb
開發(fā)。
3數(shù)據(jù)采集
3.1數(shù)據(jù)集需求分析
打開谷歌瀏覽器,首先登錄天貓網(wǎng),在搜索欄中輸入關(guān)鍵字:“衣服”等
關(guān)鍵字,點擊搜索,觀察圖3-1,其中URL為:
/search?fromTmallRedirect=true&tab=mall&q=%E8%A1
%A3%E6%9C%8D&spm=a211oj.23553758.a2227oh.d100;如圖3-1所示,然后點擊
頁面下方的分頁按鈕,同時觀察URL,發(fā)現(xiàn)URL有所變化。
/search?fromTmallRedirect=true&tab=mall&q=%E8%A1
%A3%E6%9C%8D&spm=a211oj.23553758.a2227oh.d100&bcoffset=0&p4ppushleft
=%2C44&s=88&ntoffset=-3;如圖3-2所示。
9
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖3-1數(shù)據(jù)網(wǎng)址頁面
圖3-2數(shù)據(jù)網(wǎng)址刷新頁面
按F12鍵調(diào)用開發(fā)工具并刷新頁面,如圖3-2所示。利用全局搜索工具定
位所需數(shù)據(jù)位置,點擊開發(fā)者工具上面的Headers字段,分析這是個什么請求,
如圖3-3。
圖3-3查找圖片信息
10
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
3.2數(shù)據(jù)集獲取分析
定位到我們所需要的數(shù)據(jù)所在的位置,復(fù)制第一張圖的src,得到圖片的地
址,然后鼠標(biāo)右鍵點擊檢查選擇network。刷新網(wǎng)頁:讓本網(wǎng)頁數(shù)據(jù)內(nèi)容重新加
載一遍然后搜索數(shù)據(jù)來源:復(fù)制關(guān)鍵參數(shù),直接進(jìn)行搜索如圖3-4,接下來我們
分析他是以什么形式的數(shù)據(jù)存放的。顯然這是一個json數(shù)據(jù)。
圖3-4分析數(shù)據(jù)類型頁面
從天貓網(wǎng)爬取圖片,輸入衣服等關(guān)鍵字,爬取前六十頁數(shù)據(jù),如圖3-5所
示:
圖3-5爬取的圖片集
11
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
3.3編程實現(xiàn)
先通過CNN模型構(gòu)建思維導(dǎo)圖知道我們構(gòu)建模型過程中需要哪些庫來完成
模型的構(gòu)建,然后導(dǎo)入所需庫像主要的pyplot庫用于進(jìn)行可視化展示和數(shù)據(jù)分
析展示,TensorFlow庫主要用于模型訓(xùn)練,Keras庫中的所有內(nèi)部庫基本都用
于模型的構(gòu)建。
圖3-6導(dǎo)入所需庫頁面
4數(shù)據(jù)集處理
該數(shù)據(jù)集處理主要是數(shù)據(jù)預(yù)處理,主要是對數(shù)據(jù)進(jìn)行清洗、轉(zhuǎn)換、過濾、
合并等相關(guān)操作,通常包括以下幾個方面:
1、歸一化:在0-1范圍內(nèi)規(guī)范圖像像素可以使模型學(xué)習(xí)更穩(wěn)定,并加快模
型學(xué)習(xí)和訓(xùn)練速度。
2、數(shù)據(jù)集類型的劃分:將訓(xùn)練數(shù)據(jù)集類型劃分為訓(xùn)練數(shù)據(jù)集、驗證練習(xí)數(shù)
據(jù)集和測試訓(xùn)練數(shù)據(jù)集。訓(xùn)練集一般僅用于模型設(shè)計的技能訓(xùn)練,驗證集通常
則是用于有效進(jìn)行的模型的設(shè)計性能優(yōu)化性能測試驗證和模型設(shè)計性能參數(shù)性
能優(yōu)化的調(diào)整,測試集一般可用于有效的評估模型的設(shè)計人員的設(shè)計泛化學(xué)習(xí)
的能力[19]。
通過以上的數(shù)據(jù)預(yù)處理步驟,可以使得圖像數(shù)據(jù)適合用于基于CNN模型的
服飾分類識別模型的訓(xùn)練和優(yōu)化。
4.1數(shù)據(jù)采集
數(shù)據(jù)集信息來源于天貓官微網(wǎng)通過網(wǎng)絡(luò)及爬蟲查詢等爬蟲技術(shù)平臺所隨機
采集,第三章圖3-5已經(jīng)將數(shù)據(jù)展示出來了,這里就不在展示了。
12
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
4.2數(shù)據(jù)預(yù)處理
數(shù)據(jù)預(yù)處理是數(shù)據(jù)分析或數(shù)據(jù)挖掘開始前的準(zhǔn)備工作,也是數(shù)據(jù)分析或數(shù)
據(jù)挖掘中的必要部分,它主要通過一系列的方法來處理“臟”數(shù)據(jù)、精準(zhǔn)地抽
取數(shù)據(jù)、調(diào)整數(shù)據(jù)的格式,從而得到一組符合準(zhǔn)確、完整、簡潔等標(biāo)準(zhǔn)的高質(zhì)
量數(shù)據(jù),保證該數(shù)據(jù)能更好地服務(wù)于數(shù)據(jù)分析或數(shù)據(jù)挖掘工作。這里主要是調(diào)
整數(shù)據(jù)的格式[20]。
圖4-1數(shù)據(jù)清洗準(zhǔn)備頁面
圖4-2數(shù)據(jù)素像值歸一化處理
4.3切分訓(xùn)練集和測試集
通過keras中的datasets模塊引入fashion_mnist數(shù)據(jù)集同時可切分出
訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集,train_images數(shù)組和train_labels數(shù)組都是一個訓(xùn)
練據(jù)集,即模型中用于學(xué)習(xí)訓(xùn)練的數(shù)據(jù)。Test_images數(shù)組和test_labels數(shù)組
也會常常被用來直接對模型集進(jìn)行測試,如下圖所示:
圖4-3通過keras中的datasets模塊引入
圖4-4數(shù)據(jù)集切分展示
13
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖4-5查看訓(xùn)練集和測試集的圖片數(shù)量
圖4-6切分?jǐn)?shù)據(jù)集后訓(xùn)練集與測試集的圖片數(shù)量結(jié)果展示
圖4-7訓(xùn)練集標(biāo)簽值
圖4-8測試集標(biāo)簽值
通過圖4-7和圖4-8可以查看數(shù)據(jù)集的標(biāo)簽值是0-9的數(shù)值,以此來標(biāo)記
每一類數(shù)據(jù)然后進(jìn)行分類,也就是將每一類分別歸為0-9的類別,好進(jìn)行后續(xù)
的數(shù)據(jù)清洗好模型訓(xùn)練。
圖4-9類的標(biāo)簽值
14
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
5模型構(gòu)建及評估分析
5.1模型構(gòu)建
以下是一種基于CNN模型的服裝分類識別方法的模型構(gòu)建設(shè)計:
我們目前使用到的CNN網(wǎng)絡(luò)總共可分為了8大層,包括輸入圖層、第一層
卷積圖層、第二層池化圖層、第三層卷積圖層、第四層全池化輸入圖層、第五
層全卷積圖層、第六層全平面圖層、第七層全連接輸出圖層和第八層輸出連接
圖層,分別的展示框圖如下:
1、輸入層:它的通常作用是保存輸入信號到卷積神經(jīng)網(wǎng)絡(luò)之間的二維原始
波形數(shù)據(jù)或預(yù)處理波形數(shù)據(jù)。它也可以說是三維圖像視覺識別圖像處理領(lǐng)域中
的一種原始的三維彩色圖像,也有可以看成是二維音頻信號識別圖像領(lǐng)域中經(jīng)
傅立葉變換濾波后生成的原始二維波形數(shù)據(jù),甚至有可以認(rèn)為是二維自然語言
智能處理語言中的一維表達(dá)式中所示出來的句子向量。輸入的矩陣是指一張圖
片,可以直接通過預(yù)處理軟件將這個圖片轉(zhuǎn)換為一個固定像素大小的矩陣[21],
如28x28
2、卷積層:它一般通常用之于對輸入數(shù)據(jù)層結(jié)構(gòu)中原始輸入數(shù)據(jù)矩陣的特
征加以提取,通過卷積核矩陣可對原始輸入數(shù)據(jù)結(jié)構(gòu)中矩陣的隱式及相關(guān)性問
題進(jìn)行數(shù)學(xué)抽象。卷積核運算的抽象原理實際上就是關(guān)于兩個像素矩陣間的點
積乘方和求和方法的一個數(shù)學(xué)抽象運算。一個像素矩陣本身是一個輸入數(shù)據(jù)矩
陣,而其中另一個像素矩陣自身則恰好是個卷積核層(濾波器或特征矩陣)。所
最終獲得的結(jié)果可以被直接表示為從原始圖像樣本中被提取到的某些特定或局
部特征[21]。
3、池化層:它在實際上一般又可應(yīng)地稱其作為一種坡降采樣層模型
(DownsamplingLayer)的模型,作用功能之一也是由于可以自動對感受采樣域內(nèi)
幾乎所有樣本的全部輸出的特征參數(shù)信息進(jìn)行自動篩選,提取出來的該感受采
樣區(qū)域數(shù)據(jù)集中的一個或最具某種典型代表性數(shù)據(jù)的全部輸入的特征,可以最
大較小有效的限度上地自動減少全部輸出的特征數(shù)據(jù)信息的采樣層規(guī)模,從而
能大幅度的減少該模型實現(xiàn)池所需被采樣對象的參數(shù)數(shù)量。根據(jù)池輸出操作參
數(shù)的類型池通常也被進(jìn)一步分為最大池化、平均和最大池化和最小求和池化,
他們均是指分別可以通過提取池感受域內(nèi)對象的最大、平均和最小求和總特征
值而輸出作為池化輸出[21]。最常用的是MaxPooling。
4、全連接層:它主要只用于負(fù)責(zé)分析或總結(jié)從卷積神經(jīng)網(wǎng)絡(luò)深度機器學(xué)習(xí)
15
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
的過程模型中所被提取來的一組多維特征,將對應(yīng)其一組多維特征的一維輸入
特征映射輸出對應(yīng)到其二維特征的映射輸出,以高維來分別表示樣本批次,低
的一二階特征通常用來分別對應(yīng)于任務(wù)目標(biāo)[21]。
5、輸出層:它是模型的最后一層,常常使用SoftMax函數(shù)進(jìn)行目標(biāo)內(nèi)容分
類。
6、Flatten層:它一般用來直接將二維輸入化為"壓平",也即就是可以把
多維的二維輸入直接一維化,通常用之于從卷積層直接過渡到三維全連接層[21]。
7、損失函數(shù):它在模型訓(xùn)練過程中,在模型訓(xùn)練過程中,有必要選擇適當(dāng)
的損失函數(shù)進(jìn)行優(yōu)化。常見的熵?fù)p失函數(shù)一般包括交叉熵?fù)p失函數(shù)和均方誤差
損失函數(shù)等[21]。
8、優(yōu)化器:它是通常可以通過自動地根據(jù)損失函數(shù)的梯度分布來自動實時
的更新訓(xùn)練模型數(shù)據(jù)上的參數(shù),常被常用于之應(yīng)用于提高模型訓(xùn)練系統(tǒng)的整體
訓(xùn)練工作的整體效率程度和提高數(shù)據(jù)準(zhǔn)確性。常用優(yōu)化器類型的優(yōu)化選擇,比
如隨機梯度下降優(yōu)化器(SGD)、Adam等。這里使用的是Adam[21]。
通過以上的模型構(gòu)建,可以基本完成基于CNN模型的服飾分類識別的模型
設(shè)計了。
5.1.1模型網(wǎng)絡(luò)結(jié)構(gòu)
我們的構(gòu)建中的CNN網(wǎng)絡(luò)共可以被分為8層,包括輸入層、第一層卷積層、
第二層池化層、第三層卷積層、第四層池化層、第五層卷積層、第六層全flatten
層、第七層全連接層、第八層全輸出層如上圖5-1和圖5-2代碼所示
圖5-1模型網(wǎng)絡(luò)構(gòu)建結(jié)構(gòu)展示
16
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖5-2模型構(gòu)建代碼展示
通過圖5-2可以了解到CNN模型構(gòu)建的一個過程每一層都打上了備注信息,
可以清楚知道每一層是什么層,例如第一層為卷積層,第二層為池化層等。圖
中每一層的層數(shù)是通過不斷實驗確定的,達(dá)到了最佳效果,當(dāng)然由于時間原因
實驗的次數(shù)還是比較少的,可能最佳效果還能不斷的提高,后面有時間會繼續(xù)
提高模型的準(zhǔn)確率的。
圖5-3打印網(wǎng)絡(luò)結(jié)構(gòu)
圖5-3是打印模型的網(wǎng)絡(luò)結(jié)構(gòu),可以更直觀的看到模型構(gòu)建的情況和效果。
17
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖5-4網(wǎng)絡(luò)結(jié)構(gòu)展示
通過圖5-4的模型網(wǎng)絡(luò)結(jié)構(gòu)展示圖可以看出整個模型的內(nèi)部結(jié)構(gòu),參數(shù)是
不斷增大的,因為層數(shù)不斷增大,這種無規(guī)則的增大對提高準(zhǔn)確率比較適合,
當(dāng)然因為實驗次數(shù)不夠,提高準(zhǔn)確率的方法肯定是可以無止境的實驗出來的,
實驗提高準(zhǔn)確率的方式還有很多。
5.1.2模型訓(xùn)練
圖5-5模型訓(xùn)練代碼
圖5-5的模型訓(xùn)練是模型構(gòu)建比較重要的一環(huán),數(shù)據(jù)中往往會有異常值和
缺失值的存在,而模型訓(xùn)練就是檢查這些異常值和缺失值的存在,了解它們的
分布可以有利于我們找到一個更好的模型。同時迭代次數(shù)對模型也會造成影響,
所以要找到適合的迭代次數(shù),通過不斷實訓(xùn)迭代次數(shù)設(shè)置為8比較合適,當(dāng)我
減少或者增加時,模型的準(zhǔn)確率會有所降低。
18
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖5-6模型訓(xùn)練過程展示
通過圖5-6可以看出模型訓(xùn)練的還不錯,準(zhǔn)確率達(dá)到了84%,一開始構(gòu)建模
型時卷積層的深度分別為32、32、64,其準(zhǔn)確率為80%。后來調(diào)整為20、32、44
時準(zhǔn)確率提高了2%再調(diào)整全連接的層數(shù)為2層時又提高了1%,最后調(diào)整第一層
全連接的深度為54,第二層為12時,準(zhǔn)確率達(dá)到了預(yù)期值84%。
5.2模型編譯
5.2.1優(yōu)化器設(shè)置
優(yōu)化器的作用是更新模型中的參數(shù),使得損失函數(shù)達(dá)到最小值。常見的優(yōu)
化器包括SGD、Adam、Adagrad等,這里我使用的優(yōu)化算法是Adam優(yōu)化器,adam
有默認(rèn)的學(xué)習(xí)率,所以不用寫lr大小,作用:自適應(yīng)動態(tài)調(diào)整學(xué)習(xí)率。
圖5-7模型優(yōu)化器設(shè)置
19
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
5.2.2損失函數(shù)設(shè)置
損失函數(shù)是測量模型預(yù)測值和實際值之間的差異,從而指導(dǎo)模型優(yōu)化過程。
通常的損失函數(shù)包括交叉熵、均方差等。在線性回歸問題分析中,MSE二次平均
誤差通常用作損失函數(shù),在分類回歸問題分析方法中,交叉熵差通常用作損失
函數(shù)。交叉熵?fù)p失函數(shù)是通常用以代替均次方根誤差損失函數(shù)和Sigmoid激活
損失函數(shù)的組合[22]。
因此,這里將交叉熵設(shè)置為損失函數(shù),交叉熵可以測量同一隨機變量中兩
種不同概率分布之間的差異,并用實際概率分布和預(yù)測概率分布之間的機器學(xué)
習(xí)來表示。交叉熵值越低,模型的預(yù)測越好。
圖5-8模型損失函數(shù)設(shè)置
5.3模型訓(xùn)練與調(diào)優(yōu)
5.3.1模型訓(xùn)練設(shè)置
圖5-9迭代次數(shù)的改變
這里模型訓(xùn)練上沒有什么可以進(jìn)行調(diào)優(yōu)的除了迭代次數(shù)上,但是這里的迭
代次數(shù)當(dāng)我把它增加為10或者12時,準(zhǔn)確率降低,當(dāng)減少為6或者7時準(zhǔn)確
率依舊降低,經(jīng)過不斷嘗試迭代次數(shù)為8時效果最佳。
20
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
5.3.2學(xué)習(xí)率調(diào)優(yōu)
圖5-10查看默認(rèn)學(xué)習(xí)率
由于adam有默認(rèn)的學(xué)習(xí)率為0.001,所以不用寫lr大小,作用:自適應(yīng)動
態(tài)調(diào)整學(xué)習(xí)率。所以這里我們不進(jìn)行l(wèi)r的調(diào)優(yōu)設(shè)置。
5.3.3batch_size設(shè)置
設(shè)置batch_size的最終設(shè)計目的主要還是想要讓訓(xùn)練模型可以實現(xiàn)在訓(xùn)
練的整個過程中能夠通過為每次的訓(xùn)練選擇批量化的訓(xùn)練數(shù)據(jù)來自動對訓(xùn)練系
統(tǒng)數(shù)據(jù)進(jìn)行分析處理。直觀程度上容易理解也就是對下一次的訓(xùn)練集所能進(jìn)行
重新選取的樣本數(shù)。BatchSize數(shù)值的取值和大小主要的影響到模型的性能優(yōu)
化的難易程度大小和模型渲染速度。同時還因為其數(shù)值會更直接有效地會影響
到占用你的GPU空間的內(nèi)存資源的正常的使用時間等的情況,假如你使用的GPU
所占用的內(nèi)存空間并不大,該數(shù)值也要最好是盡量的設(shè)置的小一點[23]。卷積神
經(jīng)網(wǎng)絡(luò)(CNN)的輸入是張量(Tensor)形式的,包含了圖像高度、寬度及顏色
信息。不需要輸入batch_size。所以這里我們不設(shè)置batch_size。
5.4模型部署
5.4.1系統(tǒng)前端設(shè)計
功能設(shè)計如圖5-11所示:
1、點擊上傳圖片,在圖片集中的測試集中選擇一張測試圖;
2、點擊開始檢測,如何自動進(jìn)行識別檢測;
3、等待檢測結(jié)果,可以出準(zhǔn)確率達(dá)到預(yù)期結(jié)果84%,也就是分類識別成功。
4、點擊保存結(jié)果,自此檢測結(jié)束。
21
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖5-11功能展示
5.4.2設(shè)計效果展示及分析
進(jìn)行模型預(yù)測,選用測試集的第二張圖片進(jìn)行測試,以下是測試結(jié)果如
圖5-12所示:
圖5-12測試圖
22
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖5-13數(shù)據(jù)展示頁面
通過圖5-13可以看出預(yù)測效果還不錯達(dá)到了83%。
圖5-14模型預(yù)測代碼展示
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版打字員與藝術(shù)機構(gòu)合同:藝術(shù)作品文案與排版服務(wù)協(xié)議3篇
- 22024版國際會議中心專業(yè)音響設(shè)備供應(yīng)合同
- 個人二手車銷售代理合同(2024版)3篇
- 2024新疆二手房買賣合同模板:包含房屋質(zhì)量及安全隱患排查3篇
- 2024影樓與攝影師違約責(zé)任及賠償合同范本3篇
- 2024智能化設(shè)計合同范本
- 23《童年的發(fā)現(xiàn)》說課稿2023-2024學(xué)年統(tǒng)編版語文五年級下冊
- 2 丁香結(jié) 說課稿-2024-2025學(xué)年統(tǒng)編版語文六年級上冊
- 專業(yè)餐飲顧問服務(wù)合同(2024年修訂)版
- 2024跨境電子商務(wù)平臺搭建與運營服務(wù)合同
- DFMEA-第五版標(biāo)準(zhǔn)表格
- 2024年軟件資格考試信息系統(tǒng)運行管理員(初級)(基礎(chǔ)知識、應(yīng)用技術(shù))合卷試卷及解答參考
- 第8課《列夫-托爾斯泰》公開課一等獎創(chuàng)新教學(xué)設(shè)計
- 職業(yè)咖啡比賽方案策劃書
- 人教版2024-2025學(xué)年七年級數(shù)學(xué)上冊計算題專項訓(xùn)專題09運用運算律簡便運算(計算題專項訓(xùn)練)(學(xué)生版+解析)
- 2023年二輪復(fù)習(xí)解答題專題十七:二次函數(shù)的應(yīng)用(銷售利潤問題)(原卷版+解析)
- 《ISO56001-2024創(chuàng)新管理體系 - 要求》之26:“9績效評價-9.3管理評審”解讀和應(yīng)用指導(dǎo)材料(雷澤佳編制-2024)
- GB 26134-2024乘用車頂部抗壓強度
- 2024年高中生物新教材同步必修第二冊學(xué)習(xí)筆記第3章 本章知識網(wǎng)絡(luò)
- 三年級上冊乘法豎式計算練習(xí)200道及答案
- 組建學(xué)校籃球隊方案
評論
0/150
提交評論