《深度學習技術應用》課件 項目三 遷移學習實現(xiàn)新冠肺炎X光檢測_第1頁
《深度學習技術應用》課件 項目三 遷移學習實現(xiàn)新冠肺炎X光檢測_第2頁
《深度學習技術應用》課件 項目三 遷移學習實現(xiàn)新冠肺炎X光檢測_第3頁
《深度學習技術應用》課件 項目三 遷移學習實現(xiàn)新冠肺炎X光檢測_第4頁
《深度學習技術應用》課件 項目三 遷移學習實現(xiàn)新冠肺炎X光檢測_第5頁
已閱讀5頁,還剩103頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

項目三遷移學習實現(xiàn)新冠肺炎X光檢測深度學習應用技術項目引導案例

自2019年年底爆發(fā)以來,新冠肺炎疫情仍在全球范圍內持續(xù)擴散,形勢依舊嚴峻。各國醫(yī)療系統(tǒng)都面臨著巨大的壓力,快速低成本檢測該疾病成為了醫(yī)學技術領域最熱門的話題,早已有專家發(fā)現(xiàn),核酸+胸部醫(yī)學影像檢測相結合是更可信的檢測手段。

檢測和診斷工具能夠快速的將檢測結果提供給醫(yī)生,在篩選過程中協(xié)助醫(yī)生。胸部X光影像是低成本的檢測技術,但深度學習往往需要大量的訓練樣本,如何在樣本不足的情況下使用深度學習進行檢測呢?遷移學習就是個很不錯的選擇!項目引導案例肺部圖像處理01介紹Tensorflow以及一些深度學習的基本知識和代碼操作模型搭建及訓練02基于服裝圖像數(shù)據(jù),進行最基礎的分類模型的訓練思考一下使用遷移學習進行X光片檢測與常規(guī)X光片檢測有什么區(qū)別呢?項目引導案例肺部圖像處理任務一職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08任務一肺部圖像處理了解深度學習在醫(yī)學領域的應用掌握訓練集與測試集劃分的方法掌握基本的圖像處理方法與圖像增強技術能夠搭建圖像處理所需環(huán)境能夠獲取圖像數(shù)據(jù)和標簽并轉換格式能夠對標簽進行二值化處理能夠正確劃分圖像的訓練集和測試集并保存劃分后的數(shù)據(jù)職業(yè)能力目標01知識目標技能目標職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08任務一肺部圖像處理

了解Tensorflow2.0中的部分安裝包,將圖像數(shù)據(jù)轉換為array格式,標簽二值化處理,設置訓練集測試集,并制作成數(shù)據(jù)集加以保存。任務描述任務要求圖像和標簽格式轉換;二值化處理;訓練集和測試集劃分;數(shù)據(jù)集保存。任務描述與要求02職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08任務一肺部圖像處理任務分析劃分測試集和訓練集時需要注意什么?如何對標簽進行二值化處理?任務分析與計劃03任務計劃表通過上面的思考,你是否對本任務要完成的工作有所了解?讓我們一起來制訂完成本次任務的實施計劃吧!任務分析與計劃03項目名稱遷移學習實現(xiàn)新冠肺炎X光檢測任務名稱肺部圖像處理計劃方式自主設計計劃要求請用8個計劃步驟來完整描述出如何完成本次任務序號任務計劃1

2

3

4

5

6

7

8職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08任務一肺部圖像處理圖像預處理204知識儲備訓練集和測試集1訓練集和測試集的概念04為了避免過擬合,在進行(監(jiān)督)機器學習實驗時,一般會將數(shù)據(jù)集劃分為訓練集和測試集。訓練集

估計模型測試集

檢驗最終選擇最優(yōu)的模型的性能如何。借助這種劃分,可以對一個樣本集進行訓練,然后使用不同的樣本集測試模型。訓練集和測試集的概念04“調整模型”指的是調整可以想到的關于模型的任何方面。04兩個數(shù)據(jù)集必須相互獨立,不能使用測試集調整模型的訓練參數(shù)。訓練集和測試集劃分注意事項04確保劃分之前先進行隨機化,以保證訓練集和測試集中不同種類標簽的樣本平衡。訓練集和測試集劃分注意事項04如果數(shù)據(jù)集規(guī)模很小,可以使用交叉驗證法評估模型的預測能力。訓練集和測試集劃分注意事項圖像預處理204知識儲備訓練集和測試集104歸一化

圖像歸一化是指對圖像進行了一系列標準的處理變換,使之變換為一固定標準形式的過程,該標準圖像稱作歸一化圖像。圖像歸一化的技術可以分為線性歸一化和非線性歸一化兩種。

線性歸一化可以放大和縮小原始圖像的長度和寬度,保留圖像的線性性質。但有時要求對切割后的圖像中心的位置做適當?shù)母?,采用非線性歸一化技術。04歸一化(2)減小幾何變換的影響(1)轉換成標準模式,防止仿射變換的影響(3)加快梯度下降求最優(yōu)解的速度。圖像歸一化的好處04灰度化

灰度化,在RGB模型中,即紅、綠、藍三原色來表示真彩色,如果R=G=B時,則彩色表示一種灰度顏色,其中R=G=B的值叫灰度值,因此,灰度圖像每個像素只需一個字節(jié)存放灰度值(又稱強度值、亮度值),灰度范圍為0-255。

為了達到提高整個應用系統(tǒng)的處理速度的目的,需要減少所需處理的數(shù)據(jù)量,常常將圖像進行灰度化。二值化圖像的二值化是讓圖像的像素點矩陣中的每個像素點的灰度值為0(黑色)或者255(白色),也就是讓整個圖像呈現(xiàn)只有黑和白的效果。

在二值化后的圖像中的灰度值范圍是0或者255。04在數(shù)字圖像處理中,二值圖像占有非常重要的地位,圖像的二值化使圖像中數(shù)據(jù)量大為減少,從而能凸顯出目標的輪廓。OpenCV中有兩個函數(shù)可以實現(xiàn)圖片的二值化cvThreshold()和cvAdaptiveThreshold()第一個函數(shù)是手動指定一個閾值;第二個函數(shù)是一個自適應閾值二值化方法。二值化0404幾何變換

圖像幾何變換又稱為圖像空間變換,通過平移、轉置、鏡像、旋轉、縮放等幾何變換對采集的圖像進行處理。

幾何變換中灰度級插值是必不可少的組成部分,通常采用的方法有最近鄰插值、雙線性插值和雙三次插值。04幾何變換

圖像幾何變換又稱為圖像空間變換,通過平移、轉置、鏡像、旋轉、縮放等幾何變換對采集的圖像進行處理。

幾何變換中灰度級插值是必不可少的組成部分,通常采用的方法有最近鄰插值、雙線性插值和雙三次插值??捎脭?shù)學函數(shù)表達的簡單變換依賴實際圖象而不易用函數(shù)形式描述的復雜變換通過指定圖象中一些控制點的位移及插值方法來描述的空間變換空間變換

增強圖像中的有用信息,它可以是一個失真的過程,其目的是要改善圖像的視覺效果。

圖像增強的方法是通過一定手段對原圖像附加一些信息或變換數(shù)據(jù),有選擇地突出圖像中感興趣的特征或者抑制(掩蓋)圖像中某些不需要的特征,使圖像與視覺響應特性相匹配。在圖像增強過程中,不分析圖像降質的原因,處理后的圖像不一定逼近原始圖像。圖像增強技術根據(jù)增強處理過程所在的空間不同,可分為基于空域的算法和基于頻域的算法兩大類。圖像增強04職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08任務一肺部圖像處理05任務實施圖像數(shù)據(jù)處理2環(huán)境準備1訓練集和測試集劃分3環(huán)境準備05安裝opencv-python的時候可能會出現(xiàn)安裝失敗的問題,這是因為pip包版本落后,需要先升級pip包,再安裝tensorflow等其他安裝包。1、安裝依賴庫。05涉及代碼函數(shù):2、導入必要的包和模塊ImageDataGenerator可用于增強數(shù)據(jù),且將增強后的數(shù)據(jù)集變?yōu)閿?shù)據(jù)生成器VGG16為tensorflow中內置的VGG16模型(經過預訓練后的模型),不需要再次搭建AveragePooling2D為二維平均池化層Dropout能夠使得神經網(wǎng)絡稀疏化,防止模型過擬合Flatten可以將二維數(shù)據(jù)展平為一維數(shù)據(jù),通常在全連接層之前使用Dense為全連接層Input為輸入層Model用于構建神經網(wǎng)絡模型Adam為模型的優(yōu)化方法to_categorical是將類別向量轉換為二進制的矩陣類型表示LabelBinarizer用于將標簽二值化train_test_split用于將數(shù)據(jù)集自動化的分為訓練集和測試集classification_report在報告中顯示每個類的精確度,召回率,F(xiàn)1值等信息confusion_matrix是混淆矩陣,用于判斷預測的準確程度環(huán)境準備05任務實施圖像數(shù)據(jù)處理2環(huán)境準備1訓練集和測試集劃分305imagePaths獲取每一個圖像的路徑,并全部存入list。1、獲取圖像數(shù)據(jù)和標簽。圖像數(shù)據(jù)處理05設置兩個空列表用于儲存數(shù)據(jù)以及標簽,列表名稱為“data”和“l(fā)abels”。運行以下代碼,輸出“[][]”。2、存儲數(shù)據(jù)和標簽。#設置數(shù)據(jù)和標簽的列表data=[]labels=[]print(data,labels)圖像數(shù)據(jù)處理05現(xiàn)在已經有了儲存圖片的路徑,可以用循環(huán)的方式將路徑中的圖片數(shù)據(jù)和標簽數(shù)據(jù)提取出來存入data和labels中。具體的做法為:使用imagePath.split()函數(shù)將路徑分割,并從分割后的列表中提取出標簽值,賦值給變量label。使用cv2.imread()函數(shù)讀取imagePath路徑中的圖片數(shù)據(jù),賦值給變量image。使用cv2.cvtColor()函數(shù)將圖片image從BGR格式轉為RGB格式,轉換格式的參數(shù)為cv2.COLOR_BGR2RGB。(4)使用cv2.resize函數(shù)將圖片image大小統(tǒng)一設置為(224,224),原因是網(wǎng)絡的輸入層設置需要圖像為這個大小。#運行以下代碼,輸出肺部圖片。#輸出肺部圖片%matplotlibnotebookplt.imshow(data[1])圖像數(shù)據(jù)處理05將圖像數(shù)據(jù)統(tǒng)一除以255是為了將其歸一化,方便后續(xù)處理,也方便圖片的展示。將數(shù)據(jù)轉換為np.array格式后,后續(xù)可以更方便的使用數(shù)值處理包numpy進行計算,numpy的運算速度很快。3、對圖像和標簽進行格式轉換圖像數(shù)據(jù)處理054、標簽二值化處理計算機讀取數(shù)字進行運算會比讀取字符串要好,數(shù)字0,1沒有二義性,字符串換成英文、中文、日文即便代表同樣的意思,但計算機卻會認為是不同的東西。因此需要對標簽進行二值化處理,利用LabelBinarizer()處理可以返回二值化標簽。圖像數(shù)據(jù)處理05任務實施圖像數(shù)據(jù)處理2環(huán)境準備1訓練集和測試集劃分3051、了解train_test_split函數(shù)。使用sklearn模塊中的函數(shù)train_test_split來劃分訓練集和測試集。訓練集和測試集劃分train_test_split(data,labels,test_size,stratify,random_state)參數(shù)介紹:data:需要分類的所有數(shù)據(jù)labels:數(shù)據(jù)對應的所有標簽test_size:浮點數(shù),表示劃分到測試集數(shù)據(jù)的比例,如果要設置20%的數(shù)據(jù)為測試集則令test_size=0.2stratify=labels:表示按labels分層抽取,例如有100個樣本,其中80正類,20負類,取出20%測試集后,測試集中16正類,4個負類random_state:整數(shù),隨機種子052、設置訓練集和測試集。利用train_test_split()函數(shù)將data和labels進行分類,將全部數(shù)據(jù)的20%作為測試集,設置隨機種子數(shù)為42。訓練集和測試集劃分053、保存數(shù)據(jù)。創(chuàng)建文件夾dataReady,若提示文件夾存在,則忽略提示。訓練集和測試集劃分使用np.save()將數(shù)據(jù)保存在dataReady文件夾下。職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08任務一肺部圖像處理任務檢查與評價061、請參照評價標準完成自評和對其他小組的互評。2、各組請代表分析本組任務實施經驗。項目名稱遷移學習實現(xiàn)新冠肺炎X光檢測任務名稱肺部圖像處理評價方式可采用自評、互評、老師評價等方式說明主要評價學生在項目學習過程中的操作技能、理論知識、學習態(tài)度、課堂表現(xiàn)、學習能力等

評價內容與評價標準序號評價內容評價標準分值得分1理論知識(20%)了解訓練集和測試集的基本概念及劃分注意事項、圖像預處理的基本概念。(20分)20分

2專業(yè)技能(40%)環(huán)境準備(5%)正確的安裝依賴庫(2分)5分

正確的導入必要的包和模塊(3分)3圖像數(shù)據(jù)處理(20%)正確的獲取圖像數(shù)據(jù)和標簽(5分)20分

正確的存儲數(shù)據(jù)和標簽(5分)正確的對圖像和標簽進行格式轉換(5分)正確的標簽二值化處理(5分)4訓練集和測試集劃分(15%)正確的了解train_test_split函數(shù)(5分)15分

正確的設置訓練集和測試集(5分)正確的保存數(shù)據(jù)(5分)5核心素養(yǎng)(20%)具有良好的自主學習能力、分析解決問題的能力、整個任務過程中有指導他人(20分)20分

具有較好的學習能力和分析解決問題的能力,任務過程中無指導他人(15分)能夠主動學習并收集信息,有請教他人進行解決問題的能力(10分)不主動學習(0分)6課堂紀律(20%)設備無損壞、設備擺放整齊、工位區(qū)域內保持整潔、無干擾課堂秩序(20分)20分

設備無損壞、無干擾課堂秩序(15分)無干擾課堂秩序(10分)干擾課堂秩序(0分)總得分職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08任務一肺部圖像處理任務小結07職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08任務一肺部圖像處理任務拓展08嘗試將肺部圖像進行灰度化處理,再進行歸一化處理?灰度化處理:有分量法、最大值法、平均值法、加權平均法四種方法對彩色圖像進行灰度化。歸一化處理:將圖像數(shù)據(jù)統(tǒng)一除以255。解題

思路提示謝謝大家學習項目三遷移學習實現(xiàn)新冠肺炎X光檢測深度學習應用技術模型搭建及訓練任務二職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08任務二模型搭建及訓練掌握圖像數(shù)據(jù)生成器制作方法理解模型微調的概念與適用場景了解Tensorflow中內置的VGG16模型框架的相關知識能夠搭建模型訓練所需環(huán)境并導入相關模塊和依賴包能夠導入數(shù)據(jù)并設置數(shù)據(jù)增強生成器能夠加載VGG16模塊中的模型并構建圖像分類模型能夠完成模型編譯(設置超參數(shù)、優(yōu)化器)能夠完成模型訓練并進行模型評估能夠對損失函數(shù)與精確度進行數(shù)據(jù)可視化能夠保存、加載已訓練的模型職業(yè)能力目標01知識目標技能目標職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08任務二模型搭建及訓練加載訓練好的VGG16模型,并進行模型微調,利用部分數(shù)據(jù)集進行模型再訓練,并進行模型預測,繪制出損失函數(shù)與準確率圖像。任務描述任務要求VGG16模型微調;VGG16模型預測;模型評估,繪制損失函數(shù)與準確率圖像;任務描述與要求02職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08任務二模型搭建及訓練任務分析你知道有哪些梯度下降法?想一想如何構建VGG16模型?任務分析與計劃03任務計劃表通過上面的思考,你是否對本任務要完成的工作有所了解?讓我們一起來制訂完成本次任務的實施計劃吧!任務分析與計劃03項目名稱遷移學習實現(xiàn)新冠肺炎X光檢測任務名稱模型搭建及訓練計劃方式自主設計計劃要求請用8個計劃步驟來完整描述出如何完成本次任務序號任務計劃1

2

3

4

5

6

7

8職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08任務二模型搭建及訓練VGG16模型204知識儲備數(shù)據(jù)增強1模型優(yōu)化器3數(shù)據(jù)增強04數(shù)據(jù)增強是一種數(shù)據(jù)擴充技術,指的是利用有限的數(shù)據(jù)創(chuàng)造盡可能多的利用價值。數(shù)據(jù)增強主要是為了減少網(wǎng)絡的過擬合現(xiàn)象,通過對訓練圖片進行變換可以得到泛化能力更強的網(wǎng)絡,更好的適應應用場景。在深度學習中,有監(jiān)督的數(shù)據(jù)增強和無監(jiān)督的數(shù)據(jù)增強方法。

04有監(jiān)督的數(shù)據(jù)增強

有監(jiān)督數(shù)據(jù)增強,即采用預設的數(shù)據(jù)變換規(guī)則,在已有數(shù)據(jù)的基礎上進行數(shù)據(jù)的擴增,包含單樣本數(shù)據(jù)增強和多樣本數(shù)據(jù)增強。

單樣本數(shù)據(jù)增強包括幾何變換操作類(如翻轉,旋轉,裁剪,變形,縮放),顏色變換類(如噪聲、模糊、顏色變換、擦除、填充)。多樣本數(shù)據(jù)增強方法利用多個樣本來產生新的樣本。常見的方法有:SMOTE方法,SamplePairing方法,mixup方法.有監(jiān)督的數(shù)據(jù)增強04無監(jiān)督的數(shù)據(jù)增強無監(jiān)督的數(shù)據(jù)增強通過模型學習數(shù)據(jù)的分布,隨機生成與訓練數(shù)據(jù)集分布一致的圖片,代表方法GAN。通過模型,學習出適合當前任務的數(shù)據(jù)增強方法,代表方法AutoAugment。VGG16模型204知識儲備數(shù)據(jù)增強1模型優(yōu)化器3104卷積神經網(wǎng)絡

卷積神經網(wǎng)絡是一種具有局部連接、權重共享等特性的深層前饋神經網(wǎng)絡。CNN由幾個基本的層構成,這些層包括輸入層、卷積層、池化層、全連接層和輸出層所構成。卷積層全連接層池化層對輸入數(shù)據(jù)進行特征提取是對圖片信息進行壓縮(降采樣)的一種方法在卷積神經網(wǎng)絡最后會加一個flatten層,將之前所得到的featuremap“壓平”,然后用一個全連接層輸出最后的結果。04VGG16網(wǎng)絡

VGG中根據(jù)卷積核大小和卷積層數(shù)目的不同,可分為A,A-LRN,B,C,D,E共6個配置,其中以D,E兩種配置較為常用,分別稱為VGG16和VGG19。

針對VGG16(圖中D部分配置)進行具體分析,其包含:13個卷積層(ConvolutionalLayer)3個全連接層(FullyconnectedLayer)5個池化層(Poollayer)

其中,卷積層和全連接層具有權重系數(shù)。VGG16網(wǎng)絡04

VGG16的突出特點是簡單,體現(xiàn)在:卷積層均采用相同的卷積核參數(shù)。池化層均采用相同的池化核參數(shù)。池化層的參數(shù)均為2×模型是由若干卷積和層池化層堆疊(stack)的方式構成,比較容易形成較深的網(wǎng)絡結構。VGG16模型204知識儲備數(shù)據(jù)增強1模型優(yōu)化器31優(yōu)化器與梯度下降04

在有了正向結構和損失函數(shù)后,就是通過優(yōu)化函數(shù)來優(yōu)化學習參數(shù)了,這個過程也是在反向傳播中完成的。這個優(yōu)化函數(shù)叫做優(yōu)化器。其內部原理主要是通過梯度下降的方法對模型中的參數(shù)進行優(yōu)化。

梯度下降法常用于機器學習和人工智能當中用來遞歸性地逼近最小偏差模型,梯度下降的方向也就是用負梯度方向為搜索方向,沿著梯度下降的方向求解極小值。優(yōu)化器與梯度下降04

梯度下降法是最基本的一類優(yōu)化器,目前主要分為三種梯度下降法:標準梯度下降法(GD)隨機梯度下降法(SGD)批量梯度下降法(BGD)(1)標準梯度下降法優(yōu)化器與梯度下降04

標準梯度下降法模型參數(shù)的更新調整,與代價函數(shù)關于模型參數(shù)的梯度有關,即沿著梯度的方向不斷減小模型參數(shù),從而最小化代價函數(shù)該方法有兩個缺點:訓練速度慢容易陷入局部最優(yōu)解(2)隨機梯度下降法優(yōu)化器與梯度下降04

每看一個數(shù)據(jù)就算一下?lián)p失函數(shù),然后求梯度更新參數(shù),這個稱為隨機梯度下降。

該方法的優(yōu)點是計算梯度快,訓練速度快。缺點是沒能單獨克服局部最優(yōu)解的問題。(3)批量梯度下降法優(yōu)化器與梯度下降04

遍歷全部數(shù)據(jù)集算一次損失函數(shù),然后算函數(shù)對各個參數(shù)的梯度,更新梯度。這種方法每更新一次參數(shù)都要把數(shù)據(jù)集里的所有樣本都看一遍。該方法計算量開銷大,計算速度慢,不支持在線學習。

為了克服以上三種方法的缺點,現(xiàn)在一般采用的是一種折中手段“小批的梯度下降”。04優(yōu)化器的選擇

優(yōu)化器的選取沒有特定的標準,需要根據(jù)具體的任務,多次嘗試選擇不同的優(yōu)化器,選擇使得評估函數(shù)最小的那個優(yōu)化器。根據(jù)經驗,RMSprop、Adagrad、Adam、SGD是比較通用的優(yōu)化器。其中前三個優(yōu)化器適合自動收斂,而最后一個優(yōu)化器,常用于精調模型。04優(yōu)化器的選擇自動收斂方面一般以Adam優(yōu)化器最為常用,綜合來看,它在收斂速度、模型所訓練出來的精度方面,效果相對更好一些。而且對于學習率的設置要求相對比較寬松,更容易使用。精調模型方面常常通過手動修改學習率來進行模型的二次調優(yōu)。為了訓練出更好的模型,一般會在使用Adam優(yōu)化器訓練到模型無法收斂之后,再使用SGD優(yōu)化器,通過手動調節(jié)學習率的方式,進一步提升模型性能職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08任務二

模型搭建及訓練VGG模型搭建204數(shù)據(jù)增強1模型編譯3模型預測5任務實施模型訓練4模型評估6數(shù)據(jù)增強05導入肺部圖像訓練集和測試集的數(shù)據(jù)及標簽。1、導入數(shù)據(jù)數(shù)據(jù)增強05需要設置一個用于數(shù)據(jù)增強的生成器,以此來獲取更多的訓練集圖片。tensorflow中的ImageDataGenerator模塊可以用于增強數(shù)據(jù)2、設置用于數(shù)據(jù)增強的生成器(1)圖片生成器,負責生成一個個批次的圖片,以生成器的形式給模型訓練;(2)對每一個批次的訓練圖片,適時地進行數(shù)據(jù)增強處理;(3)自動為訓練數(shù)據(jù)生成標簽。05ImageDataGenerator()參數(shù)簡單介紹:數(shù)據(jù)增強featurewise_center:布爾值,使輸入數(shù)據(jù)集去中心化(均值為0),按feature執(zhí)行。samplewise_center:布爾值,使輸入數(shù)據(jù)的每個樣本均值為0。featurewise_std_normalization:布爾值,將輸入除以數(shù)據(jù)集的標準差以完成標準化,按feature執(zhí)行。samplewise_std_normalization:布爾值,將輸入的每個樣本除以其自身的標準差。zca_whitening:布爾值,對輸入數(shù)據(jù)施加ZCA白化。rotation_range:整數(shù),數(shù)據(jù)提升時圖片隨機旋轉的角度。隨機選擇圖片的角度,取值為0~180。width_shift_range:浮點數(shù),水平平移范圍。height_shift_range:浮點數(shù),垂直平移范圍。shear_range:浮點數(shù),透視變換的范圍。zoom_range:浮點數(shù)或形如[lower,upper]的列表,縮放的范圍.fill_mode:填充模式,‘constant’,‘nearest’,‘reflect’或‘wrap’之一,當進行變換時超出邊界的點將根據(jù)本參數(shù)給定的方法進行處理。VGG模型搭建204數(shù)據(jù)增強1模型編譯3模型預測5任務實施模型訓練4模型評估6VGG模型搭建05使用tensorflow模塊中內置的VGG16模塊,導入VGG的基礎模型baseModel,這里baseModel是實例化后的VGG16模型。VGG16中的相關參數(shù):1、加載基礎模型weights="imagenet"代表該模型已經通過imagenet數(shù)據(jù)集訓練后,得到的模型,首次調用需要下載。include_top=False表示不載入VGG16模型的頂部層。如果第一次運行本代碼,需要在keras模塊中添加一個名為models的文件夾。數(shù)據(jù)增強與VGG模型搭建05將baseModel中的參數(shù)固定住,使得在訓練的時候baseModel中的參數(shù)不會更新。利用循環(huán)的方式將baseModel每層的參數(shù)固定住。2、固定baseModel模型參數(shù)指標baseModel.layers可以返回模型所有的層,設置layer.trainable=False使得該層不參與訓練。數(shù)據(jù)增強與VGG模型搭建05在baseModel的基礎上,將VGG16網(wǎng)絡頂部的三層網(wǎng)絡按照下面的結構重新設定,包含一個平均池化層、一個展平層,一個dropout層,兩個全連接層。3、重置頂部網(wǎng)絡層(1)創(chuàng)建模型容器。Sequential()可以看作是模型的容器(2)添加baseModel。(3)添加平均池化層。(4)添加展平層。Flatten()展平層,將tensor展開,不做計算。(5)添加維度為64維的全連接層。(6)添加丟棄法。(7)添加維度為2維的全連接層。VGG模型搭建204數(shù)據(jù)增強1模型編譯3模型預測5任務實施模型訓練4模型評估6模型編譯05學習率、迭代次數(shù)、訓練批次三個常見參數(shù)的介紹及設置。三個超參數(shù)介紹:1、模型超參數(shù)設定學習率INIT_LR:學習率決定著模型訓練的快慢。迭代次數(shù)EPOCHS:迭代次數(shù)表示訓練數(shù)據(jù)進入模型進行訓練的次數(shù)。訓練批次大小batchsize:設置每次進入模型訓練的圖片是多少,由于硬件的限制,太大的批次會導致模型訓練很慢。模型編譯05優(yōu)化器的作用主要是幫助模型在訓練過程中更快的找到最佳參數(shù),優(yōu)化器的種類有很多,合適的優(yōu)化器能夠大大提高訓練的效率。2、優(yōu)化器設定模型編譯05函數(shù)pile(loss,optimizer,metrics)用于編譯模型,參數(shù)分別為損失函數(shù)、優(yōu)化方法、精確度計算方式。3、執(zhí)行編譯loss用于設置損失函數(shù)的可以為目標函數(shù),也可以是字符串形式給出的損失函數(shù)的名稱,如loss="mse",loss="binary_crossentrop"等optimizer用于設置優(yōu)化器,同樣可以是字符串形式和函數(shù)形式,如optimizer="sgd",optimizer="adam"等metrics用于設置模型的評價指標,如metrics=["accuracy"],metrics=["parse_accuracy"]等VGG模型搭建204數(shù)據(jù)增強1模型編譯3模型預測5任務實施模型訓練4模型評估6模型訓練05可以使用model.fit或model.fit_generator進行模型訓練,兩者差別在于,model.fit_generator支持用生成器向模型輸入數(shù)據(jù)。1、模型訓練05model.fit_generator(generator,epochs=1,steps_per_epoch,validation_data=None,validation_steps=None)#參數(shù)介紹:generator用于接收一個生成數(shù)據(jù)的生成器,用于模型中的擬合。steps_per_epoch整數(shù),當generator返回steps_per_epoch次數(shù)據(jù)時,一個epoch結束,執(zhí)行下一個epoch,通常設置為訓練集長度除以batch_size的數(shù)值validation_data驗證集數(shù)據(jù)集,形式可以為一個形如(inputs,targets)的tuple,一個形如(inputs,targets,sample_weights)的tuple,或者生成器validation_steps整數(shù),用于設置驗證集數(shù)據(jù)集每輪次訓練次數(shù),通常設置為測試集集長度除以batch_size的數(shù)值,epochs整數(shù),設置數(shù)據(jù)迭代的輪數(shù)模型訓練VGG模型搭建204數(shù)據(jù)增強1模型編譯3模型預測5任務實施模型訓練4模型評估6模型預測05訓練好了模型之后,使用model.predict對測試集的圖片進行預測查看預測結果。1、預測結果model.predict(testdata,batchsize)其中testdata是測試數(shù)據(jù)集batchsize是訓練批次。05np.argmax返回每組數(shù)據(jù)中最大值的索引。2、取結果的最大索引號例如:返回最大值是6,它的索引號為2。list1=[[1,2,6,5,3]]np.argmax(list1,axis=1)模型預測VGG模型搭建204數(shù)據(jù)增強1模型編譯3模型預測5任務實施模型訓練4模型評估605分類模型性能評估的重要參數(shù)有準確率、精確率、召回率及F1值等,classification_report()函數(shù)能夠輸出判斷模型準確度的各個參數(shù)。1、模型評估指標準確率:所有的預測正確(正類負類)的占總的比重。精確率:(又稱查準率)正確預測為正的占全部預測為正的比例。召回率:(又稱查全率)正確預測為正的占全部實際為正的比例。F1值:F1值為算數(shù)平均數(shù)除以幾何平均數(shù),且越大越好,是精確率和召回率的加權平均。模型評估05cm為混淆矩陣,用于直觀看到預測結果的準確度1、模型評估指標混淆矩陣的每一列代表了預測類別,每一列的總數(shù)表示預測為該類別的數(shù)據(jù)的數(shù)目;每一行代表了數(shù)據(jù)的真實歸屬類別;每一行的數(shù)據(jù)總數(shù)表示該類別的數(shù)據(jù)實例的數(shù)目;每一列中的數(shù)值表示真實數(shù)據(jù)被預測為該類的數(shù)目。模型評估05具體做法如下:2、繪制損失函數(shù)與準確度圖像。(1)plt.style.use("ggplot")繪圖風格使用ggplot(2)plt.plot()函數(shù),繪制函數(shù)train_loss線條、驗證集損失線條、訓練集精度線條、驗證集精度線條,(3)plt.xlabel給橫坐標命名(4)plt.legend新增圖例(5)plt.savefig("plot")將圖片存在默認路徑,命名為plot模型評估05繪圖后會有出現(xiàn)四條不同的線,則說明填寫正確紅色(train_loss),代表訓練的損失,可以看見隨著迭代次數(shù)的增多,損失在降低藍色(val_loss),代表驗證集的損失,同樣隨著迭代次數(shù)的增多,損失在降低紫色(train_acc),代表訓練時的準確度,可以見隨著迭代次數(shù)的增加在升高黑色(val_acc),代表驗證集的準確度,可見隨著迭代次數(shù)的增加準確度上升并穩(wěn)定在1。模型評估05模型訓練完成后需要對模型進行保存。將model模型進行存儲命名為model,格式設置為h5。model.save(model_name,save_format)函數(shù)對模型進行保存。3、模型保存參數(shù)model_name,字符串,表示要儲存的模型名稱,例如將模型model儲存并命名為modeltemp,則設定model.save("modeltemp",save_format)參數(shù)save_format,字符串,表示要儲存的格式,本例中要用到的格式為h5,設

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論