基于深度學(xué)習(xí)CNN模型的服飾分類方法設(shè)計_第1頁
基于深度學(xué)習(xí)CNN模型的服飾分類方法設(shè)計_第2頁
基于深度學(xué)習(xí)CNN模型的服飾分類方法設(shè)計_第3頁
基于深度學(xué)習(xí)CNN模型的服飾分類方法設(shè)計_第4頁
基于深度學(xué)習(xí)CNN模型的服飾分類方法設(shè)計_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論