版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
目錄
1引言...............................................................................................................................1
1.1項(xiàng)目背景.............................................................................................................1
1.2開(kāi)發(fā)環(huán)境與工具.................................................................................................2
1.2.1Python簡(jiǎn)介................................................................................................2
1.2.2Tensorflow簡(jiǎn)介.........................................................................................2
1.2.3Pytorch簡(jiǎn)介...............................................................................................2
1.2.4Python第三方庫(kù)簡(jiǎn)介................................................................................3
2需求分析.......................................................................................................................4
2.1可行性需求分析.................................................................................................4
2.2數(shù)據(jù)集采集功能分析.........................................................................................5
2.3關(guān)鍵技術(shù)分析.....................................................................................................5
2.3.1數(shù)據(jù)采集技術(shù)...........................................................................................5
2.3.2數(shù)據(jù)集可視化技術(shù)...................................................................................6
2.3.3卷積神經(jīng)網(wǎng)絡(luò)原理...................................................................................6
3數(shù)據(jù)采集.......................................................................................................................6
3.1數(shù)據(jù)集需求分析.................................................................................................6
3.2數(shù)據(jù)集獲取分析.................................................................................................7
3.3編程實(shí)現(xiàn).............................................................................................................8
4數(shù)據(jù)集處理...................................................................................................................8
4.1數(shù)據(jù)集采集.........................................................................................................9
4.2數(shù)據(jù)預(yù)處理.........................................................................................................9
4.3讀取訓(xùn)練集和測(cè)試集.......................................................................................10
4.3.1數(shù)據(jù)集測(cè)試結(jié)果.....................................................................................10
5模型構(gòu)建及評(píng)估分析.................................................................................................11
5.1模型構(gòu)建...........................................................................................................11
5.1.1模型網(wǎng)絡(luò)結(jié)構(gòu).........................................................................................12
5.2模型編譯...........................................................................................................12
I
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
5.2.1優(yōu)化器設(shè)置.............................................................................................12
5.2.2損失函數(shù)設(shè)置.........................................................................................13
5.3模型訓(xùn)練與調(diào)優(yōu)...............................................................................................13
5.3.1模型訓(xùn)練設(shè)置.........................................................................................13
5.3.2學(xué)習(xí)率調(diào)優(yōu).............................................................................................14
5.3.3batch_size設(shè)置........................................................................................14
5.3.4保留訓(xùn)練權(quán)重.........................................................................................15
5.4模型部署...........................................................................................................15
5.4.1系統(tǒng)前端設(shè)計(jì).........................................................................................15
5.4.2設(shè)計(jì)效果展示及分析.............................................................................16
6小結(jié).............................................................................................................................17
參考資料.........................................................................................................................19
II
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
基于深度學(xué)習(xí)LeNet模型的花卉分類(lèi)方法設(shè)計(jì)
1引言
隨著數(shù)字圖像獲取技術(shù)的不斷發(fā)展,圖像數(shù)據(jù)量不斷增加,對(duì)于圖像識(shí)別
和分類(lèi)的需求也越來(lái)越高?;ɑ芊诸?lèi)作為圖像分類(lèi)的一個(gè)重要分支,一直以來(lái)
都是計(jì)算機(jī)視覺(jué)領(lǐng)域的熱門(mén)。傳統(tǒng)的花卉分類(lèi)方法主要依賴(lài)于人工提取圖像特
征和手動(dòng)分類(lèi),存在著分類(lèi)準(zhǔn)確度低、效率低、易受主觀因素影響等問(wèn)題?;?/p>
于深度學(xué)習(xí)LeNet模型[1]的花卉分類(lèi)方法具有高效、準(zhǔn)確、自動(dòng)化等優(yōu)點(diǎn),可
以幫助我們更好地進(jìn)行花卉分類(lèi),進(jìn)一步推動(dòng)圖像識(shí)別和分類(lèi)技術(shù)的發(fā)展。因
此,學(xué)會(huì)如何利用深度學(xué)習(xí)技術(shù)來(lái)提高花卉分類(lèi)的準(zhǔn)確度和效率具有非常重要
的意義[2]。
1.1項(xiàng)目背景
花卉分類(lèi)和識(shí)別一直是植物學(xué)和園藝學(xué)的重要領(lǐng)域。在過(guò)去的幾十年中,
許多學(xué)者致力于通過(guò)人工分類(lèi)方法對(duì)花卉進(jìn)行分類(lèi)和鑒定。但是,這種方法需
要大量的時(shí)間和精力,而且分類(lèi)準(zhǔn)確度受到許多因素的影響,如人工鑒定的主
觀性、花卉的生長(zhǎng)環(huán)境等等。因此,發(fā)現(xiàn)一種高效、準(zhǔn)確、自動(dòng)化的花卉分類(lèi)
方法變得越來(lái)越重要。
近年來(lái),深度學(xué)習(xí)技術(shù)的發(fā)展為圖像分類(lèi)和識(shí)別領(lǐng)域帶來(lái)了新的機(jī)遇和挑
戰(zhàn)。卷積神經(jīng)網(wǎng)絡(luò)(CNNs)是目前最為流行的深度學(xué)習(xí)模型之一,具有很好的
圖像分類(lèi)和識(shí)別能力。LeNet是一種最早提出的CNNs模型[3],具有較少的參數(shù)
和計(jì)算量,適合于對(duì)小規(guī)模圖像數(shù)據(jù)集進(jìn)行分類(lèi)和識(shí)別。
基于深度學(xué)習(xí)LeNet模型的花卉分類(lèi)方法具有高效、準(zhǔn)確、自動(dòng)化等優(yōu)點(diǎn),
可以幫助我們更好地進(jìn)行花卉分類(lèi),進(jìn)一步推動(dòng)圖像識(shí)別和分類(lèi)技術(shù)的發(fā)展。
因此,這次旨在發(fā)現(xiàn)基于深度學(xué)習(xí)LeNet模型的花卉分類(lèi)方法,并應(yīng)用于花卉
數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),分析其分類(lèi)準(zhǔn)確度和效率[4],為植物學(xué)和園藝學(xué)的發(fā)展提
供有力支持。
1
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
1.2開(kāi)發(fā)環(huán)境與工具
1.2.1Python簡(jiǎn)介
Python是一種高級(jí)編程語(yǔ)言,由GuidovanRossum于1989年在荷蘭設(shè)計(jì)和
開(kāi)發(fā)。Python的設(shè)計(jì)目標(biāo)是提供一種簡(jiǎn)單易學(xué)、可讀性強(qiáng)、可擴(kuò)展性強(qiáng)的編程
語(yǔ)言,同時(shí)具備高效率和高可移植性。Python以簡(jiǎn)單優(yōu)美的語(yǔ)法、豐富的標(biāo)準(zhǔn)
庫(kù)和第三方庫(kù)、良好的跨平臺(tái)性和易于調(diào)試等特點(diǎn)而備受歡迎,被廣泛應(yīng)用于
各種領(lǐng)域,如科學(xué)計(jì)算、數(shù)據(jù)分析、Web開(kāi)發(fā)、人工智能、機(jī)器學(xué)習(xí)等。
Python的語(yǔ)法簡(jiǎn)潔清晰,語(yǔ)言結(jié)構(gòu)清晰、易讀易懂,使得初學(xué)者容易上手,
也讓經(jīng)驗(yàn)豐富的程序員更加高效地編寫(xiě)代碼。Python中使用縮進(jìn)代替大括號(hào)來(lái)
表示代碼塊,這種簡(jiǎn)單的語(yǔ)法設(shè)計(jì)能夠促進(jìn)代碼的可讀性和可維護(hù)性[5]。
總之,Python是一種簡(jiǎn)單、易用、功能強(qiáng)大的編程語(yǔ)言,具有廣泛的應(yīng)用
領(lǐng)域和豐富的資源和社區(qū)支持,逐漸成為了科學(xué)計(jì)算、數(shù)據(jù)分析和機(jī)器學(xué)習(xí)等
領(lǐng)域的首選語(yǔ)言之一。
1.2.2Tensorflow簡(jiǎn)介
TensorFlow是Google基于DistBelief進(jìn)行發(fā)展的第二階段人工智能學(xué)習(xí)
系統(tǒng)。Tensor(張量)代表著N維數(shù)組,F(xiàn)low(流)代表著基于數(shù)據(jù)流圖的計(jì)
算,TensorFlow為張量從流圖的一端流動(dòng)到另一端計(jì)算過(guò)程。TensorFlow的作
用主要是是將麻煩的數(shù)據(jù)結(jié)構(gòu)發(fā)送到人工智能神經(jīng)網(wǎng)里面進(jìn)行具體分析以及處
理過(guò)程的系統(tǒng)。
TensorFlow的用途有很多,比如:能用在語(yǔ)音或圖像識(shí)別等多項(xiàng)機(jī)器學(xué)習(xí)
和深度學(xué)習(xí)領(lǐng)域,它可在小到一部智能手機(jī)、大到數(shù)千臺(tái)數(shù)據(jù)中心服務(wù)器的各
種設(shè)備上運(yùn)行。TensorFlow未來(lái)將完全開(kāi)源,無(wú)論誰(shuí)都是可以應(yīng)用的。
1.2.3Pytorch簡(jiǎn)介
PyTorch是一個(gè)基于Python的科學(xué)計(jì)算庫(kù),它主要面向深度學(xué)習(xí),提供了
易于使用的API和工具,以便于構(gòu)建和訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)。PyTorch由Facebook
于2016年發(fā)布,目前已經(jīng)成為了深度學(xué)習(xí)領(lǐng)域最受歡迎的框架之一。
PyTorch的核心是Tensors,它是一個(gè)類(lèi)似于多維數(shù)組的數(shù)據(jù)結(jié)構(gòu),可以支
持GPU計(jì)算,使得深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練變得更加高效。除了Tensors,PyTorch
還提供了許多高級(jí)功能,如自動(dòng)微分、動(dòng)態(tài)圖和各種優(yōu)化器等。與其它深度學(xué)
習(xí)框架相比,PyTorch更加靈活和易于使用,允許開(kāi)發(fā)者根據(jù)自己的需求來(lái)構(gòu)建
2
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
深度學(xué)習(xí)模型,并提供了完整的工具鏈來(lái)進(jìn)行訓(xùn)練和部署。同時(shí),PyTorch也積
極地發(fā)展和維護(hù)著一個(gè)活躍的社區(qū),以便于用戶(hù)可以分享和獲取最新的深度學(xué)
習(xí)技術(shù)和應(yīng)用[6]。
1.2.4Python第三方庫(kù)簡(jiǎn)介
Python擁有龐大的第三方庫(kù)生態(tài)系統(tǒng),這些庫(kù)包括各種類(lèi)型的工具、框架
和模塊,可以幫助開(kāi)發(fā)者更加高效地開(kāi)發(fā)和部署應(yīng)用程序。
以下是一些常用的Python第三方庫(kù):
NumPy:提供了高效的多維數(shù)組和矩陣運(yùn)算功能,是科學(xué)計(jì)算和數(shù)據(jù)分析的
基礎(chǔ)庫(kù)。
Pandas:提供了高效的數(shù)據(jù)分析和處理功能,支持各種數(shù)據(jù)格式和操作,
如數(shù)據(jù)過(guò)濾、排序、聚合等。
Matplotlib:提供了高質(zhì)量的圖形繪制功能,支持各種類(lèi)型的圖形和樣式。
Scikit-learn:提供了常用的機(jī)器學(xué)習(xí)算法和工具,支持各種類(lèi)型的數(shù)據(jù)
分析和預(yù)測(cè)任務(wù)。
TensorFlow:提供了廣泛的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)工具和算法,支持各種類(lèi)
型的神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)模型。
PyTorch:提供了靈活和高效的深度學(xué)習(xí)工具和算法,支持各種類(lèi)型的神經(jīng)
網(wǎng)絡(luò)和深度學(xué)習(xí)模型。
Flask:提供了輕量級(jí)的Web應(yīng)用框架,支持各種類(lèi)型的Web開(kāi)發(fā)任務(wù),如
路由、模板、數(shù)據(jù)庫(kù)等。
Django:提供了完整的Web應(yīng)用框架,支持各種類(lèi)型的Web開(kāi)發(fā)任務(wù),如
ORM、模板、表單等。
Requests:提供了方便的HTTP請(qǐng)求和響應(yīng)功能,支持各種類(lèi)型的HTTP請(qǐng)
求和響應(yīng)處理。
BeautifulSoup:提供了方便的HTML和XML解析功能,支持各種類(lèi)型的
HTML和XML文檔解析和處理。
總之,Python擁有豐富的第三方庫(kù)生態(tài)系統(tǒng),這些庫(kù)可以幫助開(kāi)發(fā)者更加
高效地開(kāi)發(fā)和部署應(yīng)用程序,提高開(kāi)發(fā)效率和代碼質(zhì)量。
3
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
2需求分析
2.1可行性需求分析
1.技術(shù)可行性
Pycharm是一種PythonIDE,帶有一整套可以幫助用戶(hù)在使用Python語(yǔ)言
開(kāi)發(fā)時(shí)提高其效率的工具,pycharm具有簡(jiǎn)潔的代碼編輯環(huán)境、強(qiáng)大的智能代碼
輔助功能、豐富的內(nèi)建開(kāi)發(fā)者工具、完善的Web開(kāi)發(fā)和數(shù)據(jù)科學(xué)支持(Django、
Flask、JS、notebook、pandas…)同時(shí)使用matplotlib可以很好的展現(xiàn)出各
類(lèi)圖像及其數(shù)據(jù)。
LeNet模型是深度學(xué)習(xí)的基本模型之一,具有卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu),具
有良好的特征提取能力。通過(guò)使用卷積層、池化層等組件,可以在圖像中提取
出有意義的特征信息,從而實(shí)現(xiàn)高效的花卉分類(lèi)。對(duì)于花卉分類(lèi)任務(wù),已經(jīng)有
許多開(kāi)源的數(shù)據(jù)集可供使用,這些數(shù)據(jù)集中包含了大量的花卉圖像和相應(yīng)的標(biāo)
簽信息,可以用于訓(xùn)練和評(píng)估LeNet模型的性能。
綜上所述,基于深度學(xué)習(xí)LeNet模型的花卉分類(lèi)技術(shù)具有技術(shù)可行性[7]。
該技術(shù)能夠通過(guò)深度學(xué)習(xí)模型對(duì)花卉圖像進(jìn)行高效的特征提取和分類(lèi),實(shí)現(xiàn)高
精度、高效率的花卉分類(lèi)任務(wù)。
2.項(xiàng)目可行性
隨著生產(chǎn)力和社會(huì)文明水平的提高,生態(tài)環(huán)境建設(shè)和城鎮(zhèn)綠化建設(shè)也不斷
需要提升,花卉分類(lèi)可以讓大家知道哪一類(lèi)鮮花更受人們歡迎。花卉分類(lèi)問(wèn)題
是一個(gè)經(jīng)典的圖像分類(lèi)問(wèn)題,目前已經(jīng)有多個(gè)基于深度學(xué)習(xí)的花卉分類(lèi)方法已
經(jīng)被提出,并且取得了很好的效果。這些方法都是基于卷積神經(jīng)網(wǎng)絡(luò)的架構(gòu),
并且一般都是在LeNet模型的基礎(chǔ)上進(jìn)行了改進(jìn)和優(yōu)化[8]。我們可以通過(guò)選擇
合適的數(shù)據(jù)集、使用適當(dāng)?shù)纳疃葘W(xué)習(xí)框架,并對(duì)LeNet模型進(jìn)行適當(dāng)?shù)母倪M(jìn)和
優(yōu)化來(lái)提高分類(lèi)準(zhǔn)確率和泛化能力[9]。
3.操作可行性
基于LeNet模型的花卉分類(lèi)模型的操作可行性很高,主要體現(xiàn)在以下幾個(gè)
方面:
(1)編程語(yǔ)言:Python是深度學(xué)習(xí)領(lǐng)域最流行的編程語(yǔ)言之一,也是實(shí)現(xiàn)
LeNet模型的常用語(yǔ)言,易于掌握和使用。
(2)深度學(xué)習(xí)框架:PyTorch是一款易于使用、高度靈活的深度學(xué)習(xí)框架,
能夠方便地構(gòu)建、訓(xùn)練和優(yōu)化深度學(xué)習(xí)模型,支持自動(dòng)求導(dǎo)和動(dòng)態(tài)圖等功能,
4
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
也是實(shí)現(xiàn)LeNet模型的常用框架[10]。
(3)數(shù)據(jù)預(yù)處理:數(shù)據(jù)預(yù)處理是深度學(xué)習(xí)中非常重要的一步,但是可以使
用Python中的PIL庫(kù)和NumPy庫(kù)等進(jìn)行處理,非常方便。
(4)訓(xùn)練和測(cè)試:在PyTorch中,可以使用GPU加速訓(xùn)練過(guò)程,提高訓(xùn)練
速度。此外,PyTorch提供了豐富的可視化工具,可以對(duì)訓(xùn)練和測(cè)試過(guò)程進(jìn)行實(shí)
時(shí)監(jiān)控和調(diào)整。
(5)模型優(yōu)化:PyTorch提供了多種優(yōu)化算法和正則化方法,可以方便地
進(jìn)行模型優(yōu)化和調(diào)整。
綜上所述,基于LeNet模型的花卉分類(lèi)模型操作可行性非常高,具備高效、
靈活和易用的特點(diǎn)[11],也是目前深度學(xué)習(xí)領(lǐng)域最常用的技術(shù)之一。
2.2數(shù)據(jù)集采集功能分析
此次項(xiàng)目的數(shù)據(jù)集來(lái)源于百度,是通過(guò)python在百度搜索關(guān)鍵字“花卉
數(shù)據(jù)集”爬取下載好五類(lèi)品種的花卉進(jìn)行分類(lèi)設(shè)計(jì),數(shù)據(jù)清洗后共500條記錄,
以此盡可能保證數(shù)據(jù)可靠性。
爬取到這些花卉分類(lèi)數(shù)據(jù)集的類(lèi)別主要有:菊花、郁金香、玫瑰、向日葵、
蒲公英。此次的主要目的是通過(guò)這些數(shù)據(jù)來(lái)分析哪一類(lèi)花的置信度會(huì)更高,這
樣我們能根據(jù)卷會(huì)需求量大小從而培育更多這類(lèi)花卉。其次這些數(shù)據(jù)可以給一
些與花卉商戶(hù)提供發(fā)展建議與售賣(mài)標(biāo)準(zhǔn)。
2.3關(guān)鍵技術(shù)分析
2.3.1數(shù)據(jù)采集技術(shù)
獲取到花卉分類(lèi)數(shù)據(jù)集我們需要用到網(wǎng)絡(luò)爬蟲(chóng),網(wǎng)絡(luò)爬蟲(chóng)可分為三類(lèi):
聚焦網(wǎng)絡(luò)爬蟲(chóng):也叫主題網(wǎng)絡(luò)爬蟲(chóng),聚焦網(wǎng)絡(luò)爬蟲(chóng)是按照之前定義好的主
題有選擇地進(jìn)行網(wǎng)頁(yè)爬取的一種爬蟲(chóng),聚焦網(wǎng)絡(luò)爬蟲(chóng)主要應(yīng)用在對(duì)特定信息的
爬取中,主要為某一類(lèi)特定的人群提供服務(wù)。
增量式網(wǎng)絡(luò)爬蟲(chóng):指在更新的時(shí)候只更新改變的地方,而未改變的地方則
不更新,增量式網(wǎng)絡(luò)爬蟲(chóng)在一定程度上能夠保證所爬取的頁(yè)面,盡可能是新頁(yè)
面。
深層網(wǎng)絡(luò)爬蟲(chóng):互聯(lián)網(wǎng)中網(wǎng)頁(yè)按存在方式分類(lèi),可以分為表層頁(yè)面和深層
頁(yè)面。所謂的表層頁(yè)面,指的是不需要提交表單,使用靜態(tài)的鏈接就能夠到達(dá)
的靜態(tài)頁(yè)面;而深層頁(yè)面則隱藏在表單后面,不能通過(guò)靜態(tài)鏈接直接獲取,是
5
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
需要提交一定的關(guān)鍵詞之后才能夠獲取得到的頁(yè)面。
2.3.2數(shù)據(jù)集可視化技術(shù)
爬取到花卉分類(lèi)數(shù)據(jù)集后,我們這邊可以讀取花卉分類(lèi)數(shù)據(jù)集實(shí)現(xiàn)數(shù)據(jù)集
可視化,如圖2-1所示:
圖2-1花卉數(shù)據(jù)集可視化
2.3.3卷積神經(jīng)網(wǎng)絡(luò)原理
在日常生活工作中,我們每天都會(huì)接觸形形色色的數(shù)據(jù)和信息圖(數(shù)據(jù)可
視化)。數(shù)據(jù)可視化是信息的表達(dá)方式,其作用和通過(guò)語(yǔ)言傳遞信息并無(wú)太大
差別,只是傳遞方式不同而已。數(shù)據(jù)可視化和語(yǔ)言有很多共同之處,人們通過(guò)
視覺(jué)和聽(tīng)覺(jué)接受語(yǔ)言,而通過(guò)視覺(jué)獲取可視化信息、編碼,方便人們進(jìn)行認(rèn)知。
卷積神經(jīng)網(wǎng)絡(luò)具有表層學(xué)習(xí)能力[13],能夠按其階層結(jié)構(gòu)對(duì)輸入信息進(jìn)行平
移不變分,可以進(jìn)行監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí),其隱含層內(nèi)的卷積核參數(shù)共享和
層間連接的稀疏性使得卷積神經(jīng)網(wǎng)絡(luò)能夠以較小的計(jì)算量對(duì)格點(diǎn)化特征,例如
像素和音頻進(jìn)行學(xué)習(xí)、有穩(wěn)定的效果且對(duì)數(shù)據(jù)沒(méi)有額外的特征工程要求,并被
大量應(yīng)用于計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理等領(lǐng)域[12]。
3數(shù)據(jù)采集
3.1數(shù)據(jù)集需求分析
打開(kāi)瀏覽器,進(jìn)入百度搜索輸入關(guān)鍵字:花卉、花卉分類(lèi)、花卉識(shí)別。具體
花卉分類(lèi)數(shù)據(jù)如圖所示,觀察圖3-1,然后點(diǎn)擊頁(yè)面下方的分頁(yè)按鈕,同時(shí)觀察
URL,發(fā)現(xiàn)URL沒(méi)有變化。
6
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖3-1花卉數(shù)據(jù)網(wǎng)址頁(yè)面
按F12調(diào)出開(kāi)發(fā)者工具,刷新頁(yè)面,如圖3-2。利用全局搜索工具定位所需
數(shù)據(jù)位置,點(diǎn)擊開(kāi)發(fā)者工具上面的Headers字段,分析這是個(gè)什么請(qǐng)求,發(fā)現(xiàn)
這個(gè)是一個(gè)POST請(qǐng)求,那我們需要尋找它的的fromdata往下翻找,在最后找
到了表單數(shù)據(jù)FormData。
圖3-2數(shù)據(jù)網(wǎng)址Headers字段頁(yè)面
3.2數(shù)據(jù)集獲取分析
定位到我們所需要的數(shù)據(jù)所在的位置,復(fù)制第一個(gè)花卉名稱(chēng):郁金香,調(diào)
出全局搜索框搜索,點(diǎn)擊數(shù)據(jù)預(yù)覽Preview,如圖3-3,可以看到我們剛才復(fù)制
的那個(gè)花卉名稱(chēng)在positionResult下result列表中。接下來(lái)我們分析他是以
什么形式的數(shù)據(jù)存放的。顯然這是一個(gè)json數(shù)據(jù)。
7
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖3-3花卉分類(lèi)網(wǎng)址數(shù)據(jù)集分析
3.3編程實(shí)現(xiàn)
導(dǎo)入所需庫(kù)
圖3-4導(dǎo)入所需庫(kù)頁(yè)面
從花卉數(shù)據(jù)集網(wǎng)站爬取圖片,提取前50頁(yè)數(shù)據(jù),關(guān)鍵詞為“花卉”。同時(shí)
導(dǎo)入這些庫(kù),使得我們的程序能夠更好的運(yùn)行,畫(huà)圖工具也能更好幫助我們展
示出效果圖,如圖3-5為花卉數(shù)據(jù)集中郁金香(tulips)部分花卉展示圖:
圖3-5郁金香(tuplis)部分?jǐn)?shù)據(jù)集展示圖
4數(shù)據(jù)集處理
該數(shù)據(jù)集是一組花卉相關(guān)的數(shù)據(jù)圖像,接下來(lái)我們將對(duì)該數(shù)據(jù)集進(jìn)行一個(gè)
8
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
數(shù)據(jù)預(yù)處理,主要是指對(duì)數(shù)據(jù)進(jìn)行清洗、轉(zhuǎn)換、過(guò)濾、合并等相關(guān)操作,使得
數(shù)據(jù)更具有可用性和可分析性。數(shù)據(jù)集是數(shù)據(jù)進(jìn)行下一步分析的關(guān)鍵,因此數(shù)
據(jù)集的質(zhì)量和可用性也對(duì)數(shù)據(jù)分析的結(jié)果有著至關(guān)重要的作用[14]。
4.1數(shù)據(jù)集采集
數(shù)據(jù)集由花卉分類(lèi)官方數(shù)據(jù)集爬取下載,本數(shù)據(jù)集由五種類(lèi)型的花并對(duì)應(yīng)
的標(biāo)簽組成,花有五個(gè)種類(lèi)分別是:菊花、蒲公英、玫瑰、向日葵、郁金香。
圖4-1為flower_data文件中的五種花卉數(shù)據(jù)集
4.2數(shù)據(jù)預(yù)處理
andomResizedCrop(32):隨機(jī)裁剪原始圖像到指定的大小,這里是32x32
像素。
RandomHorizontalFlip():隨機(jī)水平翻轉(zhuǎn)圖像,增加數(shù)據(jù)集的多樣性。
ToTensor():將圖像轉(zhuǎn)化為PyTorch中的Tensor數(shù)據(jù)類(lèi)型,這是深度學(xué)
習(xí)中常用的數(shù)據(jù)格式。
Normalize((0.5,0.5,0.5),(0.5,0.5,0.5)):對(duì)圖像進(jìn)行標(biāo)準(zhǔn)化處理,
將像素值范圍縮放到[-1,1]之間,這是深度學(xué)習(xí)中常用的預(yù)處理方式。
以下為實(shí)現(xiàn)代碼:
圖4-2數(shù)據(jù)集大小預(yù)處理
9
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
4.3讀取訓(xùn)練集和測(cè)試集
data.DataLoader是PyTorch中用于加載數(shù)據(jù)的一個(gè)工具,它能夠自動(dòng)將數(shù)
據(jù)集分成batch,并將batch作為一個(gè)個(gè)tensor輸入到神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練。
具體來(lái)說(shuō),data.DataLoader可以完成以下幾個(gè)任務(wù):
1、加載數(shù)據(jù)集:data.DataLoader可以自動(dòng)加載數(shù)據(jù)集,并將其轉(zhuǎn)化為
PyTorch所支持的tensor格式。在加載數(shù)據(jù)集的同時(shí),可以指定一些數(shù)據(jù)增強(qiáng)
的操作,如裁剪、翻轉(zhuǎn)等。
2、分割數(shù)據(jù)集:data.DataLoader可以將數(shù)據(jù)集分成若干個(gè)batch,并自
動(dòng)打亂數(shù)據(jù)集的順序,以提高模型的泛化能力??梢酝ㄟ^(guò)指定batch_size來(lái)控
制每個(gè)batch中包含的樣本數(shù)量。
3、加載數(shù)據(jù)并預(yù)處理:data.DataLoader可以自動(dòng)加載數(shù)據(jù)并進(jìn)行預(yù)處理,
比如對(duì)圖片進(jìn)行歸一化、對(duì)文本進(jìn)行分詞、對(duì)音頻進(jìn)行FFT變換等。
圖4-3對(duì)訓(xùn)練集測(cè)試集數(shù)據(jù)進(jìn)行多種處理
4.通過(guò)使用batch_size來(lái)分割數(shù)據(jù)集的樣本劃分展示:
圖4-4訓(xùn)練集測(cè)試機(jī)數(shù)據(jù)劃分展示
4.3.1數(shù)據(jù)集測(cè)試結(jié)果
花卉數(shù)據(jù)集中測(cè)試集和訓(xùn)練集各存放了200張圖片,圖4-5和圖4-6中可
以通過(guò)代碼來(lái)查看:
1.訓(xùn)練集和測(cè)試集大?。?/p>
圖4-5訓(xùn)練集圖片個(gè)數(shù)
圖4-6測(cè)試集圖片個(gè)數(shù)
10
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
2.查看訓(xùn)練數(shù)據(jù)集劃分部分花卉圖內(nèi)容:
圖4-7訓(xùn)練數(shù)據(jù)集花卉劃分結(jié)果展示圖
5模型構(gòu)建及評(píng)估分析
5.1模型構(gòu)建
下面是基于LeNet模型的花卉分類(lèi)模型的構(gòu)建設(shè)計(jì):
(1)輸入數(shù)據(jù):花卉分類(lèi)任務(wù)的輸入是一張圖片,可以通過(guò)預(yù)處理將圖片
轉(zhuǎn)換為固定大小的矩陣,如32x32。
(2)卷積層:卷積層是LeNet模型的核心部分,可以提取圖像的局部特征。
可以采用多個(gè)卷積層進(jìn)行特征提取,每個(gè)卷積層可以包含多個(gè)卷積核和激活函
數(shù)。在花卉分類(lèi)任務(wù)中,卷積層可以提取花卉的形態(tài)和顏色等特征。
(3)池化層:池化層可以降低卷積層的輸出維度,減少參數(shù)數(shù)量,同時(shí)還
可以提高特征的魯棒性。在花卉分類(lèi)任務(wù)中,可以采用最大池化層進(jìn)行特征降
維。
(4)全連接層:全連接層可以將特征圖轉(zhuǎn)換為一維向量,然后通過(guò)多個(gè)全
連接層進(jìn)行分類(lèi)。在花卉分類(lèi)任務(wù)中,可以采用多個(gè)全連接層對(duì)花卉進(jìn)行分類(lèi),
每個(gè)全連接層都需要使用激活函數(shù)進(jìn)行非線性變換。
(5)輸出層:輸出層是模型的最后一層,通常使用softmax函數(shù)進(jìn)行分類(lèi)。
在花卉分類(lèi)任務(wù)中,可以使用輸出層將花卉分為多個(gè)類(lèi)別。
11
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
(6)損失函數(shù):在模型訓(xùn)練過(guò)程中,需要選擇合適的損失函數(shù)進(jìn)行優(yōu)化。
常用的損失函數(shù)有交叉熵?fù)p失函數(shù)和均方誤差損失函數(shù)等。
(7)優(yōu)化器:優(yōu)化器可以根據(jù)損失函數(shù)的梯度更新模型的參數(shù),以提高模
型的訓(xùn)練效率和準(zhǔn)確性。常用的優(yōu)化器有隨機(jī)梯度下降(SGD)、Adam等。
通過(guò)以上的模型構(gòu)建,可以得到基于LeNet模型的花卉分類(lèi)模型。在實(shí)際
應(yīng)用中,可以根據(jù)實(shí)際情況對(duì)模型進(jìn)行調(diào)整和優(yōu)化,以達(dá)到更好的分類(lèi)效果。
5.1.1模型網(wǎng)絡(luò)結(jié)構(gòu)
LeNet模型包含兩個(gè)卷積層和三個(gè)全連接層組成,輸入的圖片經(jīng)過(guò)兩個(gè)卷積
層和兩個(gè)池化層的處理,卷積核大小為5×5,每個(gè)卷積層輸出的通道數(shù)分別為16
和32。接著經(jīng)過(guò)三個(gè)全連接層,最后輸出分類(lèi)結(jié)果。在此次模型中,本文采用
了Relu函數(shù)作為激活函數(shù),損失函數(shù)使用交叉熵函數(shù),代碼如圖5-1所示:
圖5-1模型構(gòu)建
5.2模型編譯
5.2.1優(yōu)化器設(shè)置
在基于LeNet模型的花卉分類(lèi)模型中,我們可以選擇不同的優(yōu)化器進(jìn)行訓(xùn)
練。優(yōu)化器的作用是更新模型中的參數(shù),使得損失函數(shù)達(dá)到最小值。常見(jiàn)的優(yōu)
化器包括SGD、Adam、Adagrad等。在基于LeNet模型實(shí)現(xiàn)花卉分類(lèi)實(shí)現(xiàn)優(yōu)化器
代碼如圖5-3所示:
12
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖5-2模型優(yōu)化器設(shè)置
5.2.2損失函數(shù)設(shè)置
在基于LeNet模型的花卉分類(lèi)模型中,損失函數(shù)的作用是衡量模型預(yù)測(cè)值
與真實(shí)值之間的差異,從而指導(dǎo)模型的優(yōu)化過(guò)程。常見(jiàn)的損失函數(shù)包括交叉熵、
均方誤差等。在基于LeNet模型實(shí)現(xiàn)花卉分類(lèi)實(shí)現(xiàn)損失函數(shù)設(shè)置代碼如圖5-3
所示:
圖5-3模型損失函數(shù)設(shè)置
5.3模型訓(xùn)練與調(diào)優(yōu)
5.3.1模型訓(xùn)練設(shè)置
在基于LeNet模型的花卉分類(lèi)模型中將訓(xùn)練集中的樣本輸入到模型中,計(jì)
算損失值,然后反向傳播求梯度,再根據(jù)梯度更新模型參數(shù)。訓(xùn)練過(guò)程中還需
要對(duì)模型在驗(yàn)證集上的性能進(jìn)行監(jiān)測(cè),以避免過(guò)擬合。訓(xùn)練的目的是通過(guò)不斷
調(diào)整模型參數(shù)來(lái)提高模型的分類(lèi)準(zhǔn)確率,代碼如圖5-4所示:
圖5-4模型訓(xùn)練代碼圖
由圖5-4中的代碼運(yùn)行可得到模型訓(xùn)練過(guò)程展示:
13
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖5-5模型訓(xùn)練過(guò)程展示圖
5.3.2學(xué)習(xí)率調(diào)優(yōu)
在深度學(xué)習(xí)中,學(xué)習(xí)率是控制模型權(quán)重和偏差更新速度的重要超參數(shù)之一。
如果學(xué)習(xí)率設(shè)置不當(dāng),可能會(huì)導(dǎo)致模型無(wú)法收斂或者過(guò)度擬合等問(wèn)題。因此,
需要對(duì)學(xué)習(xí)率進(jìn)行優(yōu)化。Adam優(yōu)化器可以自適應(yīng)地調(diào)整學(xué)習(xí)率,lr參數(shù)表示初
始學(xué)習(xí)率的大小。在訓(xùn)練過(guò)程中,始終使用固定的學(xué)習(xí)率來(lái)更新模型參數(shù),這
種方法的優(yōu)點(diǎn)是簡(jiǎn)單易用,此處lr為0.0002。
圖5-6學(xué)習(xí)率的大小
5.3.3batch_size設(shè)置
batch_size是指一次性將多少個(gè)數(shù)據(jù)樣本輸入到神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練。在
基于LeNet模型的花卉分類(lèi)模型中,batch_size的設(shè)置需要考慮到計(jì)算資源和
內(nèi)存的限制。一般來(lái)說(shuō),batch_size越大,訓(xùn)練速度越快,但需要更大的內(nèi)存。
通常的做法是盡可能使用最大的batch_size,以達(dá)到更快的訓(xùn)練速度,但要確
保不會(huì)出現(xiàn)錯(cuò)誤,這里設(shè)置為1:
圖5-7batch_size設(shè)置
14
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
5.3.4保留訓(xùn)練權(quán)重
在深度學(xué)習(xí)中,訓(xùn)練出一個(gè)好的模型是非常困難的,所以保存訓(xùn)練得到的
權(quán)重是非常重要的。訓(xùn)練得到的權(quán)重可以被用于后續(xù)的模型推斷或繼續(xù)訓(xùn)練。
使用PyTorch內(nèi)置的torch.save函數(shù)將模型權(quán)重保存到文件中,以便以后使用。
以下是實(shí)現(xiàn)代碼:
圖5-8torch.save函數(shù)將模型權(quán)重保存到文件中
可以將模型的state_dict保存到文件中,可以使用torch.load函數(shù)從文
件中加載模型權(quán)重。如圖5-9所示:
圖5-9使用torch.load函數(shù)從文件中加載模型權(quán)重
5.4模型部署
5.4.1系統(tǒng)前端設(shè)計(jì)
打開(kāi)文件夾,圖像如圖5-10所示,設(shè)計(jì)功能:
一、先進(jìn)入花卉分類(lèi)文件夾,選擇一張花卉圖像;
二、打開(kāi)flower_photos,隨機(jī)抽取一張花卉進(jìn)行種類(lèi)識(shí)別;
三、等待識(shí)別結(jié)果,查看其預(yù)測(cè)值。最終結(jié)果顯示花卉以及各類(lèi)花卉預(yù)測(cè)結(jié)
果,識(shí)別完成。如下圖所示:
15
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖5-10系統(tǒng)前端設(shè)計(jì)圖
5.4.2設(shè)計(jì)效果展示及分析
測(cè)試運(yùn)行出所有代碼,輸入roses(玫瑰),可得出花卉分類(lèi)中roses(玫瑰)
的置信度(conf)為0.582,如圖5-11所示:
圖5-11花卉數(shù)據(jù)集中玫瑰置信度展示頁(yè)面
同時(shí),測(cè)試完所有代碼,我們可得到玫瑰花以及其他花卉的置信度(conf)結(jié)
果:
16
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖5-12各類(lèi)花卉置信度結(jié)果圖
由5-12中我們已經(jīng)得到了玫瑰花以及其他花卉的置信度(conf)大小,為了
更直觀到roses(玫瑰)預(yù)測(cè)出來(lái)的可能性更大,我們可以從圖5-12中看出來(lái)。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇科版數(shù)學(xué)七年級(jí)下冊(cè)10.5.2《用二元一次方程解決問(wèn)題》聽(tīng)評(píng)課記錄
- 人教版七年級(jí)數(shù)學(xué)下冊(cè) 聽(tīng)評(píng)課記錄 10.1《統(tǒng)計(jì)調(diào)查》第2課時(shí)
- 常見(jiàn)眩暈知識(shí)宣教
- 消化道出血患者的個(gè)案護(hù)理
- 天一聯(lián)考·齊魯名校教研共同體2024-2025學(xué)年(下)高三年級(jí)開(kāi)學(xué)考 地理試卷(含答案)
- 銅陵職業(yè)技術(shù)學(xué)院《軟件項(xiàng)目實(shí)踐JavaEE開(kāi)發(fā)實(shí)踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西應(yīng)用技術(shù)職業(yè)學(xué)院《有機(jī)化學(xué)(I)》2023-2024學(xué)年第二學(xué)期期末試卷
- 人才招聘市場(chǎng)的創(chuàng)新與發(fā)展機(jī)會(huì)
- 硅湖職業(yè)技術(shù)學(xué)院《學(xué)習(xí)筑夢(mèng)經(jīng)濟(jì)強(qiáng)國(guó)夢(mèng)》2023-2024學(xué)年第二學(xué)期期末試卷
- AI推動(dòng)人形機(jī)器人進(jìn)入智能時(shí)代
- 咖啡種植園項(xiàng)目計(jì)劃書(shū)
- 精裝修室內(nèi)施工組織部署
- 農(nóng)用拖拉機(jī)考試題庫(kù)
- GJB438C模板-軟件開(kāi)發(fā)計(jì)劃(已按標(biāo)準(zhǔn)公文格式校準(zhǔn))
- 2023年政府采購(gòu)評(píng)審專(zhuān)家考試真題及答案
- 云端數(shù)據(jù)加密與密鑰管理解決方案
- 毒麻藥品試題答案
- 元明時(shí)期左江上思州黃姓土司問(wèn)題研究
- 傳統(tǒng)體育養(yǎng)生學(xué)
- DB4401∕T 33-2019 電梯托管標(biāo)準(zhǔn)化管理規(guī)范
- 松原市人民政府關(guān)于印發(fā)松原市招商引資服務(wù)公司組建工作實(shí)施方案的通知
評(píng)論
0/150
提交評(píng)論