基于深度學(xué)習(xí)LeNet模型的音樂(lè)分類方法設(shè)計(jì)_第1頁(yè)
基于深度學(xué)習(xí)LeNet模型的音樂(lè)分類方法設(shè)計(jì)_第2頁(yè)
基于深度學(xué)習(xí)LeNet模型的音樂(lè)分類方法設(shè)計(jì)_第3頁(yè)
基于深度學(xué)習(xí)LeNet模型的音樂(lè)分類方法設(shè)計(jì)_第4頁(yè)
基于深度學(xué)習(xí)LeNet模型的音樂(lè)分類方法設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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.2Pycharm簡(jiǎn)介.............................................................................................2

1.2.3Python第三方庫(kù)簡(jiǎn)介................................................................................3

2需求分析....................................................................................................................3

2.1可行性需求分析..................................................................................................3

2.2數(shù)據(jù)集采集功能分析.........................................................................................4

2.3關(guān)鍵數(shù)據(jù)分析......................................................................................................4

2.3.1LeNet技術(shù).................................................................................................4

2.3.2Numpy技術(shù)分析.......................................................................................4

2.3.3pandas技術(shù)分析........................................................................................5

2.3.4LeNet算法原理.........................................................................................5

3數(shù)據(jù)采集....................................................................................................................5

3.1數(shù)據(jù)需求分析.....................................................................................................5

3.2數(shù)據(jù)集獲取分析..................................................................................................6

3.3數(shù)據(jù)集下載.........................................................................................................7

4數(shù)據(jù)集處理................................................................................................................7

4.1導(dǎo)入所需庫(kù)..........................................................................................................7

4.2切分?jǐn)?shù)據(jù)集、驗(yàn)證集以及測(cè)試集.....................................................................8

4.3查看數(shù)據(jù)集大小.................................................................................................8

5模型構(gòu)建及評(píng)估分析................................................................................................9

5.1模型構(gòu)建..............................................................................................................9

5.1.1模型網(wǎng)絡(luò)結(jié)構(gòu)...........................................................................................9

5.1.2創(chuàng)建LeNet模型.....................................................................................10

I

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

5.1.3定義函數(shù)和網(wǎng)絡(luò)模型.............................................................................11

5.2模型編譯............................................................................................................11

5.2.1優(yōu)化器設(shè)置、損失函數(shù)設(shè)置.................................................................11

5.2.2模型編譯.................................................................................................12

5.3模型訓(xùn)練與調(diào)優(yōu)...............................................................................................12

5.3.1學(xué)習(xí)率調(diào)優(yōu).............................................................................................12

5.3.2batch_size設(shè)置........................................................................................13

5.4模型部署............................................................................................................13

5.4.1系統(tǒng)前端設(shè)計(jì).........................................................................................13

5.4.2系統(tǒng)展示和評(píng)價(jià)分析.............................................................................13

6小結(jié)..........................................................................................................................14

參考資料.........................................................................................................................16

II

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

基于深度學(xué)習(xí)LeNet模型的音樂(lè)分類方法設(shè)計(jì)

1引言

由于我國(guó)網(wǎng)民的大量增加,在某一層面上極大程度促進(jìn)了網(wǎng)絡(luò)音樂(lè)產(chǎn)業(yè)的

發(fā)展。在這個(gè)網(wǎng)絡(luò)大環(huán)境下,音樂(lè)行業(yè)方面的競(jìng)爭(zhēng)也越來(lái)越激烈,而現(xiàn)在作為

一個(gè)新興事物的音樂(lè)分類系統(tǒng),它的出現(xiàn)開(kāi)始迅速獲得人們的關(guān)注,一方面是

因?yàn)樗梢允褂脩艉芊奖愕卣业剿枰?、所需求的音?lè)作品,一方面還是因?yàn)?/p>

音樂(lè)分類系統(tǒng)能幫助人們快速準(zhǔn)確地查詢到自己想要了解的音樂(lè)信息。目前,

國(guó)內(nèi)外對(duì)網(wǎng)絡(luò)音樂(lè)進(jìn)行分類層面已經(jīng)有了很多科研成果,但由于各種原因,這

些成果往往只能停留于理論層面,無(wú)法真正應(yīng)用。因此,如何結(jié)合理論和實(shí)踐,

以解決實(shí)際、根本問(wèn)題是本文要重點(diǎn)所考察的對(duì)象之一。針對(duì)以上情況,項(xiàng)目

首先對(duì)當(dāng)前音樂(lè)分類系統(tǒng)進(jìn)行概述,分析了其中音樂(lè)分類系統(tǒng)中存在的不足及

產(chǎn)生的根源;其次從多個(gè)角度介紹了數(shù)據(jù)挖掘技術(shù)的基本概念,特點(diǎn)及其常用

的方法,為下文奠定了基礎(chǔ);再次根據(jù)音樂(lè)分類系統(tǒng)的要求,提出了一種基于

關(guān)聯(lián)規(guī)則算法和聚類分析算法的混合分類模型;最后通過(guò)實(shí)驗(yàn)驗(yàn)證該模型能夠

有效提高音樂(lè)分類的準(zhǔn)確率以及效率。

之所以音樂(lè)藝術(shù)經(jīng)歷千百年流傳而經(jīng)久不衰,除開(kāi)人們對(duì)其特有的喜愛(ài)與

重視之外,更是由于音樂(lè)藝術(shù)對(duì)于人們而言是有重大的教化作用與其他功能,

在人們的精神層次提升上有著重要的意義,還可以陶冶人的精神世界,在這方

面起著舉足輕重的作用。寫出此次項(xiàng)目就是針對(duì)于音樂(lè)藝術(shù)于人們發(fā)展的意義

與功能所作出的探討與分析,在此基礎(chǔ)上希望能夠?qū)σ魳?lè)發(fā)展、藝術(shù)發(fā)展中的

積極作用有一個(gè)比較詳細(xì)的了解。

1.1項(xiàng)目背景

隨著計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展,人們對(duì)于各種的音樂(lè)信息需求日益增多起來(lái)。

當(dāng)前在我國(guó),已有相當(dāng)數(shù)量的人使用著不同種類和格式的各種計(jì)算機(jī)程序進(jìn)行

音樂(lè)處理工作。但由于這些軟件大多是針對(duì)某一種或某些特定的樂(lè)器而設(shè)計(jì)的,

因此其功能單一,不能滿足廣大用戶日益增長(zhǎng)的多樣化、個(gè)性化的音樂(lè)信息處

理要求。為了解決這一問(wèn)題,本文提出了將音樂(lè)信息提取技術(shù)與數(shù)據(jù)挖掘技術(shù)

相結(jié)合應(yīng)用于音樂(lè)分類中,并通過(guò)實(shí)例驗(yàn)證了這種方法的可行性與優(yōu)越性。

1

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

1.2開(kāi)發(fā)環(huán)境與工具

1.2.1python簡(jiǎn)介

Python在官方是屬于完全面向?qū)ο蟮囊婚T編程語(yǔ)言,它有一個(gè)特點(diǎn),它有

非常多的對(duì)象:函數(shù)、模塊、數(shù)字、字符串等內(nèi)置類型都是它的對(duì)象。它其中

的一個(gè)概念“類”,“類”支持多態(tài)和操作符重載,以及多重繼承等高級(jí)OOP

概念,Python所獨(dú)有的特點(diǎn):非常簡(jiǎn)潔的語(yǔ)法和類型使得python這門語(yǔ)言在

OOP當(dāng)中十分易于使用。顯而易見(jiàn)的是OOP也只是Python當(dāng)中的的一個(gè)選擇,

和C++一樣,Python它支持面向?qū)ο蟮木幊滩僮?,但是不同的是python也支持

面向過(guò)程編程模式。

Python是一種高級(jí)、解釋型、面向?qū)ο蟮膭?dòng)態(tài)編程語(yǔ)言。它由荷蘭程序員

GuidovanRossum于1991年發(fā)明,原本作為一種可讀性很強(qiáng)的腳本語(yǔ)言設(shè)計(jì)用

來(lái)編寫自動(dòng)化任務(wù)、Web應(yīng)用、數(shù)據(jù)分析和人工智能等領(lǐng)域的程序。Python相

對(duì)于其他編程語(yǔ)言具有較高的可讀性、簡(jiǎn)潔的語(yǔ)法以及強(qiáng)大的標(biāo)準(zhǔn)庫(kù),使得它

易于學(xué)習(xí)、使用,被稱為是“一種膠水語(yǔ)言”或“快速開(kāi)發(fā)語(yǔ)言”。Python對(duì)

開(kāi)發(fā)者友好,幾乎可以在任何平臺(tái)上運(yùn)行,包括Windows、Linux、Mac、Android

和iOS等。

Python是開(kāi)源的自由軟件,它的開(kāi)發(fā)遵循社區(qū)模式,擁有全球龐大的組織

和開(kāi)發(fā)者群體。Python支持多種編程范型,包括面向?qū)ο缶幊獭⒒谶^(guò)程的編

程、函數(shù)式編程等。Python在數(shù)據(jù)處理和科學(xué)計(jì)算領(lǐng)域得到了廣泛應(yīng)用,包括

數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、人工智能以及科學(xué)計(jì)算和可視化等。Python還可以用于

創(chuàng)建桌面應(yīng)用、Web應(yīng)用、游戲和軟件開(kāi)發(fā)等方面。

Python的開(kāi)發(fā)速度非???,因其可以輕松處理文本處理、文件操作及其他

任務(wù)。Python具有大量的第三方庫(kù),如Numpy、Pandas、Matplotlib等。這些

庫(kù)使Python具有很大的適應(yīng)性,可用于各種程序的開(kāi)發(fā)??傊?,Python是一門

功能強(qiáng)大、易于學(xué)習(xí)、廣泛應(yīng)用和支持社區(qū)活躍的高級(jí)編程語(yǔ)言。

1.2.2Pycharm簡(jiǎn)介

PyCharm是一款專門為Python語(yǔ)言開(kāi)發(fā)者設(shè)計(jì)的輕量級(jí)IDE(集成開(kāi)發(fā)環(huán)

境),由捷克公司JetBrains開(kāi)發(fā)。PyCharm擁有許多特色功能,如代碼補(bǔ)全、

自動(dòng)調(diào)試、代碼檢查、版本控制、集成測(cè)試、智能代碼編輯、代碼生成等。它

采用了智能代碼分析算法和大量的插件,可以讓開(kāi)發(fā)者以更高的效率和質(zhì)量開(kāi)

發(fā)Python應(yīng)用程序。PyCharm同時(shí)支持多種Python版本,如Python2和

2

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

Python3等。此外,PyCharm還內(nèi)置了許多流行的Python庫(kù),如Django、

Flask、NumPy、SciPy等,使得開(kāi)發(fā)者可以在一個(gè)統(tǒng)一的開(kāi)發(fā)環(huán)境中快速開(kāi)發(fā)

Python應(yīng)用程序,提高開(kāi)發(fā)效率??傊?,PyCharm是一款功能強(qiáng)大、易于使用、

可自定義的Python開(kāi)發(fā)工具,是Python開(kāi)發(fā)者必備的強(qiáng)大開(kāi)發(fā)工具之一。

1.2.3Python第三方庫(kù)簡(jiǎn)介

requests:是最友好的網(wǎng)絡(luò)爬蟲(chóng)功能庫(kù)之一,是Python易于實(shí)現(xiàn)的HTTP庫(kù),

它的使用比urllib更簡(jiǎn)潔,但不同的是Python第三方庫(kù)要事先進(jìn)行安裝操作。

Re:正則表達(dá)式解析和處理功能庫(kù),里面包含了多種字符串匹配的方法。

BeautifulSoup:它的作用是作為HTML和XML的解析庫(kù),可以對(duì)HTML、XML

格式進(jìn)行解析,從中提取相關(guān)信息;還可以對(duì)所提供的任何格式進(jìn)行相關(guān)的數(shù)

據(jù)爬取,而且對(duì)它進(jìn)行樹(shù)形解析。

NumPy庫(kù)是Python數(shù)據(jù)分析的基礎(chǔ),是處理數(shù)組的Python庫(kù),NumPy庫(kù)的

數(shù)據(jù)結(jié)構(gòu)比Python自帶的更加高效。

pandas:數(shù)據(jù)分析并保存為csv文件,python數(shù)據(jù)分析高層次應(yīng)用庫(kù),還

可以進(jìn)行數(shù)據(jù)清洗。

sys:它能極大程度上幫助我們?cè)L問(wèn)和Python解釋器,并聯(lián)系緊密的變量

和函數(shù)。

torch:最大化地保證算法的靈活性和速度。

2需求分析

2.1可行性需求分析

(1)技術(shù)可行性:

Python作為一門編程語(yǔ)言,在許多方面都有著巨大優(yōu)勢(shì),舉個(gè)例子:爬蟲(chóng)

——爬蟲(chóng)領(lǐng)域,在爬蟲(chóng)領(lǐng)域當(dāng)中Python幾乎是霸主地位,

Scrapy\Request\BeautifuSoap\urllib等庫(kù),所想的通過(guò)爬蟲(chóng)都能實(shí)現(xiàn),通過(guò)

此方面的支持提供了采集數(shù)據(jù)的渠道。Pycharm這款軟件在一定程度上也提供了

極大幫助,進(jìn)行數(shù)據(jù)的采集以及數(shù)據(jù)的分析非常的便捷。

(2)項(xiàng)目可行性:

在當(dāng)前時(shí)代背景下,音樂(lè)已經(jīng)成為世界上極大多數(shù)人所熱愛(ài)的對(duì)象,在此

基礎(chǔ)上,產(chǎn)生了非常之多的音樂(lè)平臺(tái),從而提供了人們接觸音樂(lè)的渠道。各種

各樣的音樂(lè)類型隨之產(chǎn)生,所以對(duì)音樂(lè)類型分類鋪平了道路,讓更多人快速找

3

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

到喜歡的音樂(lè)種類是本次項(xiàng)目地目的,因此項(xiàng)目可行性沒(méi)有問(wèn)題。

2.2數(shù)據(jù)集采集功能分析

此次項(xiàng)目的數(shù)據(jù)集來(lái)源于網(wǎng)易云音樂(lè)網(wǎng),在python爬蟲(chóng)的基礎(chǔ)上爬取網(wǎng)易

云音樂(lè)網(wǎng)各種類型音樂(lè),包括Pop(流行)、Rock(搖滾)、Folk(民謠)、

Electronic(電子)、Jazz(爵士)、AbsoluteMusic(純音樂(lè))、Rap(說(shuō)

唱)、Metal(金屬)、WorldMusic(世界音樂(lè))、NewAge(新世紀(jì))、Classical

(古典)、Indie(獨(dú)立)、AmbientMusic(氛圍音樂(lè))。

通過(guò)對(duì)網(wǎng)易云音樂(lè)網(wǎng)的爬取,獲得了:流行樂(lè)、搖滾樂(lè)、民謠、電子、爵

士、純音樂(lè)、說(shuō)唱、金屬、世界音樂(lè)、新世紀(jì)、古典、獨(dú)立、氛圍音樂(lè)信息。

在以上音樂(lè)信息的基礎(chǔ)上進(jìn)而分析音樂(lè)的類型將如何進(jìn)行分類,從而引發(fā)思考,

如:什么類型的音樂(lè)應(yīng)該放在音樂(lè)軟件APP的首頁(yè),怎么迎合大眾的喜歡,當(dāng)

用戶未能得知自己喜歡的音樂(lè)類型該怎么進(jìn)行分析推薦,在什么位置放置不同

類型的音樂(lè),還可以通過(guò)大數(shù)據(jù)進(jìn)行分析聽(tīng)者更偏向于喜歡什么類型的音樂(lè),

將更多人所喜歡的類型推薦到更多聽(tīng)者的列表,分析不同年齡段的聽(tīng)者的喜愛(ài)

類型進(jìn)行區(qū)分音樂(lè)推薦等等。

2.3關(guān)鍵數(shù)據(jù)分析

2.3.1LeNet技術(shù)

LeNet是一種卷積神經(jīng)網(wǎng)絡(luò),早在1998年就被提出,其主要由卷積層塊和

全連接層塊構(gòu)成。卷積層塊包含卷積層和最大池化層,用于識(shí)別圖像的空間模

式和降低位置敏感性。全連接層用于完成最后的分類。該網(wǎng)絡(luò)主要分為卷積層

塊和全連接層塊兩個(gè)部分,其中卷積層塊的基本單位是“卷積層+最大池化

層”。卷積層主要用來(lái)識(shí)別圖像的空間模式,而最大池化層主要用于降低卷積

層對(duì)于位置的敏感性。通過(guò)這樣的方式,LeNet可以在保證識(shí)別準(zhǔn)確性的同時(shí),

減少參數(shù)量、提高模型效率。最后,全連接層用于完成最后的分類任務(wù)。

2.3.2Numpy技術(shù)分析

Numpy(NumericalPython)是一種數(shù)值計(jì)算擴(kuò)展,可存儲(chǔ)和處理大型矩陣,

相比Python自帶的嵌套列表結(jié)構(gòu),Numpy在操作多維數(shù)組和矩陣時(shí)更為高效。

該工具還提供廣泛的數(shù)學(xué)函數(shù)庫(kù),可應(yīng)用于數(shù)組運(yùn)算。Numpy是Python重要

的科學(xué)計(jì)算庫(kù),其內(nèi)部實(shí)現(xiàn)采用了C和Fortran語(yǔ)言來(lái)提高計(jì)算效率。

4

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

2.3.3pandas技術(shù)分析

Pandas是基于NumPy的工具,用于數(shù)據(jù)分析任務(wù),具有處理時(shí)間序列數(shù)據(jù)

的能力。它最初是為金融數(shù)據(jù)分析而開(kāi)發(fā)的,因此對(duì)時(shí)間序列分析提供了很好

的支持。Pandas提供了大量的庫(kù)和數(shù)據(jù)模型,可高效地操作大型數(shù)據(jù)集。它的

函數(shù)和方法可以快速便捷地處理數(shù)據(jù)。因此,Pandas是一種適用于數(shù)據(jù)分析的

高效工具。

2.3.4LeNet算法原理

在神經(jīng)網(wǎng)絡(luò)領(lǐng)域,基于梯度的學(xué)習(xí)非常流行。我們知道神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)主

要是學(xué)習(xí)到權(quán)重矩陣的值,也就是找到使得最小,這個(gè)表示

的是損失函數(shù)。在實(shí)際中,對(duì)于訓(xùn)練集的誤差我們并不是很關(guān)心,我們最重要

的是降低實(shí)際運(yùn)行的誤差。一般會(huì)以測(cè)試集的形式來(lái)度量。LeNet公式如下:

(式1)

基于梯度的學(xué)習(xí)(Gradient-BasedLearning)

最小化問(wèn)題是很多計(jì)算機(jī)領(lǐng)域問(wèn)題的核心問(wèn)題。基于梯度的學(xué)習(xí)證明最小

化連續(xù)的函數(shù)要比最小化離散函數(shù)更容易。在本文中,大多數(shù)未知數(shù)的梯度求

解都是很容易的。也就是我們只要循環(huán)求解下式即可:

(式2)

卷積網(wǎng)絡(luò)聯(lián)合了三個(gè)架構(gòu)特征導(dǎo)致了轉(zhuǎn)換、拉伸和扭曲的不變形:1)局部

感受野(LocalReceptiveFields);2)共享權(quán)重(SharedWeights);3)時(shí)

間和空間的二次抽樣(SpatialorTemporalSubsampling)。

3數(shù)據(jù)采集

3.1數(shù)據(jù)需求分析

首先進(jìn)入MicrosoftEdge瀏覽器,進(jìn)入網(wǎng)易云音樂(lè)網(wǎng),在搜索框中輸入關(guān)

鍵字Pop(流行)、Rock(搖滾)、Folk(民謠)、Electronic(電子)、Jazz

(爵士)、AbsoluteMusic(純音樂(lè))、Rap(說(shuō)唱)等,觀察其變化,觀察圖

3-1,其中網(wǎng)頁(yè)如下圖所示;隨之點(diǎn)擊分頁(yè)按鈕,觀察到變化后URL發(fā)生變化。

5

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3-1目標(biāo)網(wǎng)址頁(yè)面

按F12打開(kāi)開(kāi)發(fā)者模式,點(diǎn)擊Network,刷新一下頁(yè)面,查找所需要的字段。

首先確定歌曲名,隨之查看找到歌曲的鏈接,采用用戶代理以防被網(wǎng)站封禁ip。

3.2數(shù)據(jù)集獲取分析

首先定位到所需數(shù)據(jù)的位置,搜索關(guān)鍵詞古典音樂(lè)跳轉(zhuǎn)到相關(guān)網(wǎng)頁(yè)界面,

應(yīng)用F12幫助工具Ctrl+Shift+C點(diǎn)擊古典音樂(lè)的第一首歌曲,如圖3-2,可以

看到剛所有的歌曲在itemf-cbh-flag當(dāng)中,所選定的歌曲名稱鏈接出現(xiàn)在

text字段當(dāng)中。

圖3-2分析數(shù)據(jù)類型界面

6

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

在Pycharm中利用requests庫(kù)向網(wǎng)易云音樂(lè)的歌單接口發(fā)送請(qǐng)求,然后通

過(guò)json解析響應(yīng)數(shù)據(jù),得到歌曲相關(guān)信息,最后進(jìn)行輸出。由于怕被網(wǎng)站屏蔽

所以在請(qǐng)求當(dāng)中添加了一個(gè)headers參數(shù),來(lái)模擬瀏覽器請(qǐng)求。

3.3數(shù)據(jù)集下載

將從網(wǎng)易云爬取的數(shù)據(jù)集保存在桌面data文件夾中,如圖3-3。

圖3-3數(shù)據(jù)集文件夾展示圖

所圖3-4所示可以看到data文件夾中包含dev數(shù)據(jù)集,train訓(xùn)練集以及

test測(cè)試集。

圖3-4數(shù)據(jù)集展示圖

4數(shù)據(jù)集處理

數(shù)據(jù)清洗是數(shù)據(jù)治理過(guò)程中非常重要的一環(huán),它指的是對(duì)數(shù)據(jù)進(jìn)行清理、

篩選、去重、格式化等操作,以確保數(shù)據(jù)質(zhì)量和數(shù)據(jù)準(zhǔn)確性。

數(shù)據(jù)質(zhì)量是一個(gè)多維度的概念,可能涉及數(shù)據(jù)產(chǎn)品及其生產(chǎn)服務(wù)過(guò)程的多

個(gè)方面。其中,數(shù)據(jù)處理是對(duì)數(shù)據(jù)的采集、存儲(chǔ)、檢索、加工、變換和傳輸。

其基本目的是從大量的數(shù)據(jù)中抽取有價(jià)值、有意義的數(shù)據(jù)。數(shù)據(jù)處理貫穿于社

會(huì)生產(chǎn)和生活各個(gè)領(lǐng)域,對(duì)人類社會(huì)發(fā)展產(chǎn)生了重大影響。

4.1導(dǎo)入所需庫(kù)

導(dǎo)入pands等系列相關(guān)庫(kù)對(duì)數(shù)據(jù)進(jìn)行處理操作,如下圖所示:

7

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖4-1導(dǎo)入數(shù)據(jù)分析內(nèi)容庫(kù)

4.2切分?jǐn)?shù)據(jù)集、驗(yàn)證集以及測(cè)試集

將所選取的數(shù)據(jù)集切分為訓(xùn)練集train_dataset、驗(yàn)證集valid_dataset、

測(cè)試集test_dataset,如下圖所示:

圖4-2拆分?jǐn)?shù)據(jù)集、驗(yàn)證集、訓(xùn)練集

4.3查看數(shù)據(jù)集大小

使用.shape方法讀取訓(xùn)練集的大小,下圖為讀取訓(xùn)練集方法展示:

圖4-3讀取訓(xùn)練集大小圖片

通過(guò)讀取訓(xùn)練集,查得的結(jié)果包括305段音樂(lè),如圖4-4所示:

圖4-4讀取訓(xùn)練集在pycharm中得到音樂(lè)總數(shù)圖像

通過(guò)train直接獲取srchsongst當(dāng)中的第一列數(shù)據(jù),如下圖所示,展示第

一列數(shù)據(jù):

8

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖4-5展示數(shù)據(jù)函數(shù)

通過(guò)以上train方法直接獲取到40段音樂(lè),如下圖所示,展示出第一列部

分音樂(lè)。

圖4-6讀取出部分加載訓(xùn)練集內(nèi)容

5模型構(gòu)建及評(píng)估分析

5.1模型構(gòu)建

5.1.1模型網(wǎng)絡(luò)結(jié)構(gòu)

LeNet模型的整體結(jié)構(gòu)主要包括三個(gè)主要部分:卷積層、池化層和全連接層。

在卷積層中,通過(guò)多組卷積核對(duì)輸入數(shù)據(jù)進(jìn)行卷積操作,提取特征信息;在池

化層中,通過(guò)對(duì)卷積結(jié)果進(jìn)行下采樣操作,實(shí)現(xiàn)特征降維和不變性增強(qiáng);在全

連接層中,將池化結(jié)果進(jìn)行壓縮和分類,得到最終的輸出結(jié)果。展開(kāi)來(lái)講,LeNet

模型的具體結(jié)構(gòu)如下所示:

1.輸入層:將數(shù)據(jù)傳送到神經(jīng)網(wǎng)絡(luò)模型當(dāng)中,這里一般是圖像數(shù)據(jù)。

2.卷積層:使用卷積神經(jīng)網(wǎng)絡(luò)中的卷積層采用多組卷積核對(duì)輸入數(shù)據(jù)進(jìn)行

卷積操作,實(shí)現(xiàn)特征信息提取并進(jìn)行非線性變換以進(jìn)行非線性映射,生成特

征圖作為輸出結(jié)果。

3.池化層:在特征圖當(dāng)中進(jìn)行下采樣操作,將特征圖降維,同時(shí)增強(qiáng)特征

對(duì)圖像畸變和移動(dòng)的不變性。常見(jiàn)的池化方式有最大池化和平均池化。

4.卷積層+池化層:LeNet中共有兩個(gè)這樣的組合層,用于更進(jìn)一步提取圖

9

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

像的特征信息。

5.全連接層:將池化操作的結(jié)果壓縮變成一維向量,然后通過(guò)全連接層進(jìn)

行分類操作。常用的激活函數(shù)有ReLU、Tanh和Sigmoid等。

6.輸出層:輸出神經(jīng)網(wǎng)絡(luò)對(duì)輸入數(shù)據(jù)的預(yù)測(cè)結(jié)果,通常使用Softmax函數(shù)

進(jìn)行分類。

5.1.2創(chuàng)建LeNet模型

導(dǎo)入相關(guān)庫(kù),使用基于LeNet加載源數(shù)據(jù),如圖5-1。

圖5-1導(dǎo)入數(shù)據(jù)分析所需庫(kù)

創(chuàng)建LeNet網(wǎng)絡(luò)模型,構(gòu)建LeNet初始類,第一層為卷積層,包括6個(gè)卷積

核,每個(gè)卷積核的大小為5x5,步長(zhǎng)為1,激活函數(shù)為Sigmoid。第二層為池化

層,包括2x2的最大池化操作,步長(zhǎng)為2。接下來(lái)的第三層為卷積層,包括16

個(gè)卷積核,每個(gè)卷積核的大小為5x5,步長(zhǎng)為1,激活函數(shù)為Sigmoid。第四層

同樣為池化層,包括2x2的最大池化操作,步長(zhǎng)為2。最后的第五層為全連接層,

包含120個(gè)神經(jīng)元,激活函數(shù)為Sigmoid。第六層為全連接層,包含84個(gè)神經(jīng)

元,激活函數(shù)為Sigmoid。最后的輸出層為全連接層,包含10個(gè)神經(jīng)元,激活

函數(shù)為Softmax。

圖5-2構(gòu)建LeNet網(wǎng)絡(luò)模型代碼圖

10

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

5.1.3定義函數(shù)和網(wǎng)絡(luò)模型

通過(guò)對(duì)LeNet卷積作圖函數(shù)的應(yīng)用,多方面展示和對(duì)比訓(xùn)練集訓(xùn)練結(jié)果的

差別,從而達(dá)到區(qū)分與比較的效果。

定義作圖函數(shù),便于查看和比對(duì)訓(xùn)練結(jié)果作圖函數(shù)用于生成卷積神經(jīng)網(wǎng)絡(luò)中

的各個(gè)層次的結(jié)構(gòu),包括卷積層、池化層和全連接層等。具體來(lái)說(shuō),我們可以

采用Keras框架中的Conv2D、MaxPooling2D和Dense等函數(shù),分別對(duì)應(yīng)卷積層、

池化層和全連接層。在定義卷積層和池化層時(shí),我們需要指定卷積核的大小、

步長(zhǎng)和數(shù)量,以及池化核的大小和步長(zhǎng)等參數(shù)。在定義全連接層時(shí),我們需要

指定神經(jīng)元的數(shù)量和激活函數(shù)等參數(shù)。通過(guò)定義這些參數(shù),我們可以生成一個(gè)

完整的卷積神經(jīng)網(wǎng)絡(luò)模型。

定義網(wǎng)絡(luò)模型,網(wǎng)絡(luò)模型是卷積神經(jīng)網(wǎng)絡(luò)的主體部分,它由多個(gè)卷積層、池

化層和全連接層組成,用于提取輸入數(shù)據(jù)的特征。

圖5-3定義網(wǎng)絡(luò)模型部分代碼圖

5.2模型編譯

5.2.1優(yōu)化器設(shè)置、損失函數(shù)設(shè)置

在模型當(dāng)中采用Adam優(yōu)化器,將當(dāng)前學(xué)習(xí)率調(diào)制為0.001,beta1設(shè)置為

0.9,beta2采用0.999。在本次音樂(lè)分類系統(tǒng)當(dāng)中采用交叉熵作為損失函數(shù)來(lái)

衡量預(yù)測(cè)結(jié)果與真實(shí)標(biāo)簽的差異。

11

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖5-4部分參數(shù)設(shè)置代碼圖

5.2.2模型編譯

在編譯模型時(shí)需要我們進(jìn)行設(shè)置損失函數(shù)、優(yōu)化器和評(píng)估指標(biāo)。我們常常

用到的損失函數(shù)包括交叉熵?fù)p失函數(shù)和均方誤差損失函數(shù)等,在我們此次項(xiàng)目

當(dāng)中選用Adam優(yōu)化器,調(diào)整學(xué)習(xí)率和交叉熵,設(shè)置完優(yōu)化器與損失函數(shù)后編譯

模型得到如下結(jié)果圖。

圖5-5模型編譯結(jié)果圖

5.3模型訓(xùn)練與調(diào)優(yōu)

5.3.1學(xué)習(xí)率調(diào)優(yōu)

將學(xué)習(xí)率設(shè)置為0.001。

圖5-6學(xué)習(xí)率設(shè)置

12

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

5.3.2batch_size設(shè)置

將batch_size設(shè)置為256,以及一些參數(shù)的設(shè)置。

圖5-7batch_size設(shè)置代碼圖

5.4模型部署

5.4.1系統(tǒng)前端設(shè)計(jì)

在本設(shè)計(jì)中,我們將使用LeNet模型作為音樂(lè)分類模型的基礎(chǔ)結(jié)構(gòu),進(jìn)行訓(xùn)

練和優(yōu)化,以期達(dá)到更高的準(zhǔn)確度和更快的處理速度。為了方便用戶使用,本

系統(tǒng)采用引導(dǎo)式,旨在引導(dǎo)用戶更好、更快的熟悉使用音樂(lè)分類系統(tǒng)。

首先引導(dǎo)用戶將所需要的材料、音樂(lè)片段等相關(guān)信息放入到音樂(lè)識(shí)別系統(tǒng)

當(dāng)中,如放置的信息無(wú)法識(shí)別則會(huì)告知用戶:“很抱歉,您放置的信息可能不

符合當(dāng)前規(guī)范,請(qǐng)您查看后再次放入!”若放置的內(nèi)容符合規(guī)范則繼續(xù)下一步,

開(kāi)始識(shí)別后系統(tǒng)則會(huì)開(kāi)始分析當(dāng)前用戶放入的內(nèi)容,系統(tǒng)會(huì)將詳細(xì)參數(shù)放置出

來(lái),將符合各種音樂(lè)類型的匹配度采用百分?jǐn)?shù)的形式展現(xiàn)到系統(tǒng)界面,并將最

符合的以大字形式展現(xiàn)在右上方。

根據(jù)前端網(wǎng)頁(yè)放入一段音頻進(jìn)行測(cè)試,經(jīng)LeNet音樂(lè)分類系統(tǒng)測(cè)試得出此

段音頻為jazz樂(lè)。效果圖如圖5-8所示:

圖5-8效果圖像展示

5.4.2系統(tǒng)展示和評(píng)價(jià)分析

在下圖代碼中,我們首先加載測(cè)試集數(shù)據(jù)和標(biāo)簽,然后使用訓(xùn)練好的模型

13

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

對(duì)測(cè)試集進(jìn)行預(yù)測(cè)。接著,我們使用sklearn庫(kù)中的評(píng)價(jià)指標(biāo)函數(shù)計(jì)算準(zhǔn)確率、

精確率、召回率和F1值,并將它們打印出來(lái)。其中,average=weighted則表示

使用加權(quán)平均值來(lái)計(jì)算多類別問(wèn)題的評(píng)價(jià)指標(biāo)。

圖5-9評(píng)價(jià)指標(biāo)代碼圖片

通過(guò)上方代碼,作出以下評(píng)價(jià)指標(biāo)結(jié)果曲線圖。ks值<0.2,一般認(rèn)為模型沒(méi)

有區(qū)分能力;ks值[0.2,0.3],模型具有一定區(qū)分能力,勉強(qiáng)可以接受;ks值

[0.3,0.5],模型具有較強(qiáng)的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論