版權(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.2Pycharm簡介.............................................................................................2
1.2.3Python第三方庫簡介................................................................................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)入所需庫..........................................................................................................7
4.2切分?jǐn)?shù)據(jù)集、驗證集以及測試集.....................................................................8
4.3查看數(shù)據(jù)集大小.................................................................................................8
5模型構(gòu)建及評估分析................................................................................................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è)計
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è)計.........................................................................................13
5.4.2系統(tǒng)展示和評價分析.............................................................................13
6小結(jié)..........................................................................................................................14
參考資料.........................................................................................................................16
II
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
基于深度學(xué)習(xí)LeNet模型的音樂分類方法設(shè)計
1引言
由于我國網(wǎng)民的大量增加,在某一層面上極大程度促進(jìn)了網(wǎng)絡(luò)音樂產(chǎn)業(yè)的
發(fā)展。在這個網(wǎng)絡(luò)大環(huán)境下,音樂行業(yè)方面的競爭也越來越激烈,而現(xiàn)在作為
一個新興事物的音樂分類系統(tǒng),它的出現(xiàn)開始迅速獲得人們的關(guān)注,一方面是
因為它可以使用戶很方便地找到所需要、所需求的音樂作品,一方面還是因為
音樂分類系統(tǒng)能幫助人們快速準(zhǔn)確地查詢到自己想要了解的音樂信息。目前,
國內(nèi)外對網(wǎng)絡(luò)音樂進(jìn)行分類層面已經(jīng)有了很多科研成果,但由于各種原因,這
些成果往往只能停留于理論層面,無法真正應(yīng)用。因此,如何結(jié)合理論和實踐,
以解決實際、根本問題是本文要重點所考察的對象之一。針對以上情況,項目
首先對當(dāng)前音樂分類系統(tǒng)進(jìn)行概述,分析了其中音樂分類系統(tǒng)中存在的不足及
產(chǎn)生的根源;其次從多個角度介紹了數(shù)據(jù)挖掘技術(shù)的基本概念,特點及其常用
的方法,為下文奠定了基礎(chǔ);再次根據(jù)音樂分類系統(tǒng)的要求,提出了一種基于
關(guān)聯(lián)規(guī)則算法和聚類分析算法的混合分類模型;最后通過實驗驗證該模型能夠
有效提高音樂分類的準(zhǔn)確率以及效率。
之所以音樂藝術(shù)經(jīng)歷千百年流傳而經(jīng)久不衰,除開人們對其特有的喜愛與
重視之外,更是由于音樂藝術(shù)對于人們而言是有重大的教化作用與其他功能,
在人們的精神層次提升上有著重要的意義,還可以陶冶人的精神世界,在這方
面起著舉足輕重的作用。寫出此次項目就是針對于音樂藝術(shù)于人們發(fā)展的意義
與功能所作出的探討與分析,在此基礎(chǔ)上希望能夠?qū)σ魳钒l(fā)展、藝術(shù)發(fā)展中的
積極作用有一個比較詳細(xì)的了解。
1.1項目背景
隨著計算機(jī)科學(xué)技術(shù)的發(fā)展,人們對于各種的音樂信息需求日益增多起來。
當(dāng)前在我國,已有相當(dāng)數(shù)量的人使用著不同種類和格式的各種計算機(jī)程序進(jìn)行
音樂處理工作。但由于這些軟件大多是針對某一種或某些特定的樂器而設(shè)計的,
因此其功能單一,不能滿足廣大用戶日益增長的多樣化、個性化的音樂信息處
理要求。為了解決這一問題,本文提出了將音樂信息提取技術(shù)與數(shù)據(jù)挖掘技術(shù)
相結(jié)合應(yīng)用于音樂分類中,并通過實例驗證了這種方法的可行性與優(yōu)越性。
1
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
1.2開發(fā)環(huán)境與工具
1.2.1python簡介
Python在官方是屬于完全面向?qū)ο蟮囊婚T編程語言,它有一個特點,它有
非常多的對象:函數(shù)、模塊、數(shù)字、字符串等內(nèi)置類型都是它的對象。它其中
的一個概念“類”,“類”支持多態(tài)和操作符重載,以及多重繼承等高級OOP
概念,Python所獨有的特點:非常簡潔的語法和類型使得python這門語言在
OOP當(dāng)中十分易于使用。顯而易見的是OOP也只是Python當(dāng)中的的一個選擇,
和C++一樣,Python它支持面向?qū)ο蟮木幊滩僮?,但是不同的是python也支持
面向過程編程模式。
Python是一種高級、解釋型、面向?qū)ο蟮膭討B(tài)編程語言。它由荷蘭程序員
GuidovanRossum于1991年發(fā)明,原本作為一種可讀性很強(qiáng)的腳本語言設(shè)計用
來編寫自動化任務(wù)、Web應(yīng)用、數(shù)據(jù)分析和人工智能等領(lǐng)域的程序。Python相
對于其他編程語言具有較高的可讀性、簡潔的語法以及強(qiáng)大的標(biāo)準(zhǔn)庫,使得它
易于學(xué)習(xí)、使用,被稱為是“一種膠水語言”或“快速開發(fā)語言”。Python對
開發(fā)者友好,幾乎可以在任何平臺上運(yùn)行,包括Windows、Linux、Mac、Android
和iOS等。
Python是開源的自由軟件,它的開發(fā)遵循社區(qū)模式,擁有全球龐大的組織
和開發(fā)者群體。Python支持多種編程范型,包括面向?qū)ο缶幊獭⒒谶^程的編
程、函數(shù)式編程等。Python在數(shù)據(jù)處理和科學(xué)計算領(lǐng)域得到了廣泛應(yīng)用,包括
數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、人工智能以及科學(xué)計算和可視化等。Python還可以用于
創(chuàng)建桌面應(yīng)用、Web應(yīng)用、游戲和軟件開發(fā)等方面。
Python的開發(fā)速度非???,因其可以輕松處理文本處理、文件操作及其他
任務(wù)。Python具有大量的第三方庫,如Numpy、Pandas、Matplotlib等。這些
庫使Python具有很大的適應(yīng)性,可用于各種程序的開發(fā)??傊?,Python是一門
功能強(qiáng)大、易于學(xué)習(xí)、廣泛應(yīng)用和支持社區(qū)活躍的高級編程語言。
1.2.2Pycharm簡介
PyCharm是一款專門為Python語言開發(fā)者設(shè)計的輕量級IDE(集成開發(fā)環(huán)
境),由捷克公司JetBrains開發(fā)。PyCharm擁有許多特色功能,如代碼補(bǔ)全、
自動調(diào)試、代碼檢查、版本控制、集成測試、智能代碼編輯、代碼生成等。它
采用了智能代碼分析算法和大量的插件,可以讓開發(fā)者以更高的效率和質(zhì)量開
發(fā)Python應(yīng)用程序。PyCharm同時支持多種Python版本,如Python2和
2
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
Python3等。此外,PyCharm還內(nèi)置了許多流行的Python庫,如Django、
Flask、NumPy、SciPy等,使得開發(fā)者可以在一個統(tǒng)一的開發(fā)環(huán)境中快速開發(fā)
Python應(yīng)用程序,提高開發(fā)效率??傊?,PyCharm是一款功能強(qiáng)大、易于使用、
可自定義的Python開發(fā)工具,是Python開發(fā)者必備的強(qiáng)大開發(fā)工具之一。
1.2.3Python第三方庫簡介
requests:是最友好的網(wǎng)絡(luò)爬蟲功能庫之一,是Python易于實現(xiàn)的HTTP庫,
它的使用比urllib更簡潔,但不同的是Python第三方庫要事先進(jìn)行安裝操作。
Re:正則表達(dá)式解析和處理功能庫,里面包含了多種字符串匹配的方法。
BeautifulSoup:它的作用是作為HTML和XML的解析庫,可以對HTML、XML
格式進(jìn)行解析,從中提取相關(guān)信息;還可以對所提供的任何格式進(jìn)行相關(guān)的數(shù)
據(jù)爬取,而且對它進(jìn)行樹形解析。
NumPy庫是Python數(shù)據(jù)分析的基礎(chǔ),是處理數(shù)組的Python庫,NumPy庫的
數(shù)據(jù)結(jié)構(gòu)比Python自帶的更加高效。
pandas:數(shù)據(jù)分析并保存為csv文件,python數(shù)據(jù)分析高層次應(yīng)用庫,還
可以進(jìn)行數(shù)據(jù)清洗。
sys:它能極大程度上幫助我們訪問和Python解釋器,并聯(lián)系緊密的變量
和函數(shù)。
torch:最大化地保證算法的靈活性和速度。
2需求分析
2.1可行性需求分析
(1)技術(shù)可行性:
Python作為一門編程語言,在許多方面都有著巨大優(yōu)勢,舉個例子:爬蟲
——爬蟲領(lǐng)域,在爬蟲領(lǐng)域當(dāng)中Python幾乎是霸主地位,
Scrapy\Request\BeautifuSoap\urllib等庫,所想的通過爬蟲都能實現(xiàn),通過
此方面的支持提供了采集數(shù)據(jù)的渠道。Pycharm這款軟件在一定程度上也提供了
極大幫助,進(jìn)行數(shù)據(jù)的采集以及數(shù)據(jù)的分析非常的便捷。
(2)項目可行性:
在當(dāng)前時代背景下,音樂已經(jīng)成為世界上極大多數(shù)人所熱愛的對象,在此
基礎(chǔ)上,產(chǎn)生了非常之多的音樂平臺,從而提供了人們接觸音樂的渠道。各種
各樣的音樂類型隨之產(chǎn)生,所以對音樂類型分類鋪平了道路,讓更多人快速找
3
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
到喜歡的音樂種類是本次項目地目的,因此項目可行性沒有問題。
2.2數(shù)據(jù)集采集功能分析
此次項目的數(shù)據(jù)集來源于網(wǎng)易云音樂網(wǎng),在python爬蟲的基礎(chǔ)上爬取網(wǎng)易
云音樂網(wǎng)各種類型音樂,包括Pop(流行)、Rock(搖滾)、Folk(民謠)、
Electronic(電子)、Jazz(爵士)、AbsoluteMusic(純音樂)、Rap(說
唱)、Metal(金屬)、WorldMusic(世界音樂)、NewAge(新世紀(jì))、Classical
(古典)、Indie(獨立)、AmbientMusic(氛圍音樂)。
通過對網(wǎng)易云音樂網(wǎng)的爬取,獲得了:流行樂、搖滾樂、民謠、電子、爵
士、純音樂、說唱、金屬、世界音樂、新世紀(jì)、古典、獨立、氛圍音樂信息。
在以上音樂信息的基礎(chǔ)上進(jìn)而分析音樂的類型將如何進(jìn)行分類,從而引發(fā)思考,
如:什么類型的音樂應(yīng)該放在音樂軟件APP的首頁,怎么迎合大眾的喜歡,當(dāng)
用戶未能得知自己喜歡的音樂類型該怎么進(jìn)行分析推薦,在什么位置放置不同
類型的音樂,還可以通過大數(shù)據(jù)進(jìn)行分析聽者更偏向于喜歡什么類型的音樂,
將更多人所喜歡的類型推薦到更多聽者的列表,分析不同年齡段的聽者的喜愛
類型進(jìn)行區(qū)分音樂推薦等等。
2.3關(guān)鍵數(shù)據(jù)分析
2.3.1LeNet技術(shù)
LeNet是一種卷積神經(jīng)網(wǎng)絡(luò),早在1998年就被提出,其主要由卷積層塊和
全連接層塊構(gòu)成。卷積層塊包含卷積層和最大池化層,用于識別圖像的空間模
式和降低位置敏感性。全連接層用于完成最后的分類。該網(wǎng)絡(luò)主要分為卷積層
塊和全連接層塊兩個部分,其中卷積層塊的基本單位是“卷積層+最大池化
層”。卷積層主要用來識別圖像的空間模式,而最大池化層主要用于降低卷積
層對于位置的敏感性。通過這樣的方式,LeNet可以在保證識別準(zhǔn)確性的同時,
減少參數(shù)量、提高模型效率。最后,全連接層用于完成最后的分類任務(wù)。
2.3.2Numpy技術(shù)分析
Numpy(NumericalPython)是一種數(shù)值計算擴(kuò)展,可存儲和處理大型矩陣,
相比Python自帶的嵌套列表結(jié)構(gòu),Numpy在操作多維數(shù)組和矩陣時更為高效。
該工具還提供廣泛的數(shù)學(xué)函數(shù)庫,可應(yīng)用于數(shù)組運(yùn)算。Numpy是Python重要
的科學(xué)計算庫,其內(nèi)部實現(xiàn)采用了C和Fortran語言來提高計算效率。
4
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
2.3.3pandas技術(shù)分析
Pandas是基于NumPy的工具,用于數(shù)據(jù)分析任務(wù),具有處理時間序列數(shù)據(jù)
的能力。它最初是為金融數(shù)據(jù)分析而開發(fā)的,因此對時間序列分析提供了很好
的支持。Pandas提供了大量的庫和數(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)重矩陣的值,也就是找到使得最小,這個表示
的是損失函數(shù)。在實際中,對于訓(xùn)練集的誤差我們并不是很關(guān)心,我們最重要
的是降低實際運(yùn)行的誤差。一般會以測試集的形式來度量。LeNet公式如下:
(式1)
基于梯度的學(xué)習(xí)(Gradient-BasedLearning)
最小化問題是很多計算機(jī)領(lǐng)域問題的核心問題?;谔荻鹊膶W(xué)習(xí)證明最小
化連續(xù)的函數(shù)要比最小化離散函數(shù)更容易。在本文中,大多數(shù)未知數(shù)的梯度求
解都是很容易的。也就是我們只要循環(huán)求解下式即可:
(式2)
卷積網(wǎng)絡(luò)聯(lián)合了三個架構(gòu)特征導(dǎo)致了轉(zhuǎn)換、拉伸和扭曲的不變形:1)局部
感受野(LocalReceptiveFields);2)共享權(quán)重(SharedWeights);3)時
間和空間的二次抽樣(SpatialorTemporalSubsampling)。
3數(shù)據(jù)采集
3.1數(shù)據(jù)需求分析
首先進(jìn)入MicrosoftEdge瀏覽器,進(jìn)入網(wǎng)易云音樂網(wǎng),在搜索框中輸入關(guān)
鍵字Pop(流行)、Rock(搖滾)、Folk(民謠)、Electronic(電子)、Jazz
(爵士)、AbsoluteMusic(純音樂)、Rap(說唱)等,觀察其變化,觀察圖
3-1,其中網(wǎng)頁如下圖所示;隨之點擊分頁按鈕,觀察到變化后URL發(fā)生變化。
5
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖3-1目標(biāo)網(wǎng)址頁面
按F12打開開發(fā)者模式,點擊Network,刷新一下頁面,查找所需要的字段。
首先確定歌曲名,隨之查看找到歌曲的鏈接,采用用戶代理以防被網(wǎng)站封禁ip。
3.2數(shù)據(jù)集獲取分析
首先定位到所需數(shù)據(jù)的位置,搜索關(guān)鍵詞古典音樂跳轉(zhuǎn)到相關(guān)網(wǎng)頁界面,
應(yīng)用F12幫助工具Ctrl+Shift+C點擊古典音樂的第一首歌曲,如圖3-2,可以
看到剛所有的歌曲在itemf-cbh-flag當(dāng)中,所選定的歌曲名稱鏈接出現(xiàn)在
text字段當(dāng)中。
圖3-2分析數(shù)據(jù)類型界面
6
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
在Pycharm中利用requests庫向網(wǎng)易云音樂的歌單接口發(fā)送請求,然后通
過json解析響應(yīng)數(shù)據(jù),得到歌曲相關(guān)信息,最后進(jìn)行輸出。由于怕被網(wǎng)站屏蔽
所以在請求當(dāng)中添加了一個headers參數(shù),來模擬瀏覽器請求。
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測試集。
圖3-4數(shù)據(jù)集展示圖
4數(shù)據(jù)集處理
數(shù)據(jù)清洗是數(shù)據(jù)治理過程中非常重要的一環(huán),它指的是對數(shù)據(jù)進(jìn)行清理、
篩選、去重、格式化等操作,以確保數(shù)據(jù)質(zhì)量和數(shù)據(jù)準(zhǔn)確性。
數(shù)據(jù)質(zhì)量是一個多維度的概念,可能涉及數(shù)據(jù)產(chǎn)品及其生產(chǎn)服務(wù)過程的多
個方面。其中,數(shù)據(jù)處理是對數(shù)據(jù)的采集、存儲、檢索、加工、變換和傳輸。
其基本目的是從大量的數(shù)據(jù)中抽取有價值、有意義的數(shù)據(jù)。數(shù)據(jù)處理貫穿于社
會生產(chǎn)和生活各個領(lǐng)域,對人類社會發(fā)展產(chǎn)生了重大影響。
4.1導(dǎo)入所需庫
導(dǎo)入pands等系列相關(guān)庫對數(shù)據(jù)進(jìn)行處理操作,如下圖所示:
7
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖4-1導(dǎo)入數(shù)據(jù)分析內(nèi)容庫
4.2切分?jǐn)?shù)據(jù)集、驗證集以及測試集
將所選取的數(shù)據(jù)集切分為訓(xùn)練集train_dataset、驗證集valid_dataset、
測試集test_dataset,如下圖所示:
圖4-2拆分?jǐn)?shù)據(jù)集、驗證集、訓(xùn)練集
4.3查看數(shù)據(jù)集大小
使用.shape方法讀取訓(xùn)練集的大小,下圖為讀取訓(xùn)練集方法展示:
圖4-3讀取訓(xùn)練集大小圖片
通過讀取訓(xùn)練集,查得的結(jié)果包括305段音樂,如圖4-4所示:
圖4-4讀取訓(xùn)練集在pycharm中得到音樂總數(shù)圖像
通過train直接獲取srchsongst當(dāng)中的第一列數(shù)據(jù),如下圖所示,展示第
一列數(shù)據(jù):
8
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖4-5展示數(shù)據(jù)函數(shù)
通過以上train方法直接獲取到40段音樂,如下圖所示,展示出第一列部
分音樂。
圖4-6讀取出部分加載訓(xùn)練集內(nèi)容
5模型構(gòu)建及評估分析
5.1模型構(gòu)建
5.1.1模型網(wǎng)絡(luò)結(jié)構(gòu)
LeNet模型的整體結(jié)構(gòu)主要包括三個主要部分:卷積層、池化層和全連接層。
在卷積層中,通過多組卷積核對輸入數(shù)據(jù)進(jìn)行卷積操作,提取特征信息;在池
化層中,通過對卷積結(jié)果進(jìn)行下采樣操作,實現(xiàn)特征降維和不變性增強(qiáng);在全
連接層中,將池化結(jié)果進(jìn)行壓縮和分類,得到最終的輸出結(jié)果。展開來講,LeNet
模型的具體結(jié)構(gòu)如下所示:
1.輸入層:將數(shù)據(jù)傳送到神經(jīng)網(wǎng)絡(luò)模型當(dāng)中,這里一般是圖像數(shù)據(jù)。
2.卷積層:使用卷積神經(jīng)網(wǎng)絡(luò)中的卷積層采用多組卷積核對輸入數(shù)據(jù)進(jìn)行
卷積操作,實現(xiàn)特征信息提取并進(jìn)行非線性變換以進(jìn)行非線性映射,生成特
征圖作為輸出結(jié)果。
3.池化層:在特征圖當(dāng)中進(jìn)行下采樣操作,將特征圖降維,同時增強(qiáng)特征
對圖像畸變和移動的不變性。常見的池化方式有最大池化和平均池化。
4.卷積層+池化層:LeNet中共有兩個這樣的組合層,用于更進(jìn)一步提取圖
9
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
像的特征信息。
5.全連接層:將池化操作的結(jié)果壓縮變成一維向量,然后通過全連接層進(jìn)
行分類操作。常用的激活函數(shù)有ReLU、Tanh和Sigmoid等。
6.輸出層:輸出神經(jīng)網(wǎng)絡(luò)對輸入數(shù)據(jù)的預(yù)測結(jié)果,通常使用Softmax函數(shù)
進(jìn)行分類。
5.1.2創(chuàng)建LeNet模型
導(dǎo)入相關(guān)庫,使用基于LeNet加載源數(shù)據(jù),如圖5-1。
圖5-1導(dǎo)入數(shù)據(jù)分析所需庫
創(chuàng)建LeNet網(wǎng)絡(luò)模型,構(gòu)建LeNet初始類,第一層為卷積層,包括6個卷積
核,每個卷積核的大小為5x5,步長為1,激活函數(shù)為Sigmoid。第二層為池化
層,包括2x2的最大池化操作,步長為2。接下來的第三層為卷積層,包括16
個卷積核,每個卷積核的大小為5x5,步長為1,激活函數(shù)為Sigmoid。第四層
同樣為池化層,包括2x2的最大池化操作,步長為2。最后的第五層為全連接層,
包含120個神經(jīng)元,激活函數(shù)為Sigmoid。第六層為全連接層,包含84個神經(jīng)
元,激活函數(shù)為Sigmoid。最后的輸出層為全連接層,包含10個神經(jīng)元,激活
函數(shù)為Softmax。
圖5-2構(gòu)建LeNet網(wǎng)絡(luò)模型代碼圖
10
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
5.1.3定義函數(shù)和網(wǎng)絡(luò)模型
通過對LeNet卷積作圖函數(shù)的應(yīng)用,多方面展示和對比訓(xùn)練集訓(xùn)練結(jié)果的
差別,從而達(dá)到區(qū)分與比較的效果。
定義作圖函數(shù),便于查看和比對訓(xùn)練結(jié)果作圖函數(shù)用于生成卷積神經(jīng)網(wǎng)絡(luò)中
的各個層次的結(jié)構(gòu),包括卷積層、池化層和全連接層等。具體來說,我們可以
采用Keras框架中的Conv2D、MaxPooling2D和Dense等函數(shù),分別對應(yīng)卷積層、
池化層和全連接層。在定義卷積層和池化層時,我們需要指定卷積核的大小、
步長和數(shù)量,以及池化核的大小和步長等參數(shù)。在定義全連接層時,我們需要
指定神經(jīng)元的數(shù)量和激活函數(shù)等參數(shù)。通過定義這些參數(shù),我們可以生成一個
完整的卷積神經(jīng)網(wǎng)絡(luò)模型。
定義網(wǎng)絡(luò)模型,網(wǎng)絡(luò)模型是卷積神經(jīng)網(wǎng)絡(luò)的主體部分,它由多個卷積層、池
化層和全連接層組成,用于提取輸入數(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。在本次音樂分類系統(tǒng)當(dāng)中采用交叉熵作為損失函數(shù)來
衡量預(yù)測結(jié)果與真實標(biāo)簽的差異。
11
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖5-4部分參數(shù)設(shè)置代碼圖
5.2.2模型編譯
在編譯模型時需要我們進(jìn)行設(shè)置損失函數(shù)、優(yōu)化器和評估指標(biāo)。我們常常
用到的損失函數(shù)包括交叉熵?fù)p失函數(shù)和均方誤差損失函數(shù)等,在我們此次項目
當(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è)計
5.3.2batch_size設(shè)置
將batch_size設(shè)置為256,以及一些參數(shù)的設(shè)置。
圖5-7batch_size設(shè)置代碼圖
5.4模型部署
5.4.1系統(tǒng)前端設(shè)計
在本設(shè)計中,我們將使用LeNet模型作為音樂分類模型的基礎(chǔ)結(jié)構(gòu),進(jìn)行訓(xùn)
練和優(yōu)化,以期達(dá)到更高的準(zhǔn)確度和更快的處理速度。為了方便用戶使用,本
系統(tǒng)采用引導(dǎo)式,旨在引導(dǎo)用戶更好、更快的熟悉使用音樂分類系統(tǒng)。
首先引導(dǎo)用戶將所需要的材料、音樂片段等相關(guān)信息放入到音樂識別系統(tǒng)
當(dāng)中,如放置的信息無法識別則會告知用戶:“很抱歉,您放置的信息可能不
符合當(dāng)前規(guī)范,請您查看后再次放入!”若放置的內(nèi)容符合規(guī)范則繼續(xù)下一步,
開始識別后系統(tǒng)則會開始分析當(dāng)前用戶放入的內(nèi)容,系統(tǒng)會將詳細(xì)參數(shù)放置出
來,將符合各種音樂類型的匹配度采用百分?jǐn)?shù)的形式展現(xiàn)到系統(tǒng)界面,并將最
符合的以大字形式展現(xiàn)在右上方。
根據(jù)前端網(wǎng)頁放入一段音頻進(jìn)行測試,經(jīng)LeNet音樂分類系統(tǒng)測試得出此
段音頻為jazz樂。效果圖如圖5-8所示:
圖5-8效果圖像展示
5.4.2系統(tǒng)展示和評價分析
在下圖代碼中,我們首先加載測試集數(shù)據(jù)和標(biāo)簽,然后使用訓(xùn)練好的模型
13
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
對測試集進(jìn)行預(yù)測。接著,我們使用sklearn庫中的評價指標(biāo)函數(shù)計算準(zhǔn)確率、
精確率、召回率和F1值,并將它們打印出來。其中,average=weighted則表示
使用加權(quán)平均值來計算多類別問題的評價指標(biāo)。
圖5-9評價指標(biāo)代碼圖片
通過上方代碼,作出以下評價指標(biāo)結(jié)果曲線圖。ks值<0.2,一般認(rèn)為模型沒
有區(qū)分能力;ks值[0.2,0.3],模型具有一定區(qū)分能力,勉強(qiáng)可以接受;ks值
[0.3,0.5],模型具有較強(qiáng)的
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 財務(wù)部年終報告開創(chuàng)新局面引領(lǐng)新風(fēng)尚
- 手工藝行業(yè)衛(wèi)生衛(wèi)生控制
- 2025-2030全球電子后視鏡系統(tǒng)行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球聯(lián)合收割機(jī)皮帶行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球3D 打印陶瓷絲行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國智能睡眠盒行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球IP65工業(yè)顯示器行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球機(jī)器人用立體攝像頭行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球不銹鋼面板安裝顯示器行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球全液壓解耦系統(tǒng)行業(yè)調(diào)研及趨勢分析報告
- 中國儲備糧管理集團(tuán)有限公司蘭州分公司招聘筆試真題2024
- 第1課 隋朝統(tǒng)一與滅亡 課件(26張)2024-2025學(xué)年部編版七年級歷史下冊
- 提高金剛砂地坪施工一次合格率
- 【歷史】唐朝建立與“貞觀之治”課件-2024-2025學(xué)年統(tǒng)編版七年級歷史下冊
- 產(chǎn)業(yè)園區(qū)招商合作協(xié)議書
- 2024年廣東省公務(wù)員錄用考試《行測》真題及答案解析
- 2025新譯林版英語七年級下單詞默寫表
- 盾構(gòu)標(biāo)準(zhǔn)化施工手冊
- 天然氣脫硫完整版本
- 中歐班列課件
- 2025屆高三數(shù)學(xué)一輪復(fù)習(xí)備考經(jīng)驗交流
評論
0/150
提交評論