.
聲明:本人只是分享一些床長的免費雜文而已,並非床長人工智慧網校的收費文章。
基本像分類
翻譯自
該指南訓練一個神經網絡模型來對服裝像進行分類,像腳底運動鞋和襯衫。
如果你不理解所有的細節也沒有關係。
這個是一個完成的程序的快速的概述。
指南中使用,這是一個高階,用於在中構建和訓練模型。
輸出結果
導入數據集載入數據集返回個數組
和數組是訓練集。
這個數據是這個模型學習用的。
模型測試基於測試集,即和數組。
這些片是的數組,像素值從到。
數據集是一個整型的數組,從到。
這些對應於像所代表的服裝類別
每個像被映射到單個標籤。
因為這個類名不包含在數據集中,將它們存儲在這裡,以便稍後繪製像時使用。
,,,,,,,探索數據
在訓練模型之前,讓我們研究一下數據集的格式。
下面顯示訓練集中有張像,每張像用像素表示。
輸出結果
同樣,訓練接中有個標記值目標值
每個標記值是和之間的整型值
輸出結果是
在測試集中有張片。
同樣,每幅像用像素表示
輸出結果
這個測試集包含個片目標值
輸出結果
數據預處理
在訓練網絡之前,必須對數據進行預處理。
如果你檢查訓練集中的第一個像,您將看到像素值在到的範圍內
在將這些值輸入到神經網絡模型之前,將它們縮放到到的範圍內,要做到這一點,需要將這些值除以。
重要的是,訓練集和測試集的預處理方式相同
以驗證數據的格式是否正確,並且您已經準備好構建和訓練網絡,讓我們從訓練集中展示開始的張片和在它下面展示每個分類的名稱。
顯示結果
構建模型
構建神經網絡需要配置模型的層,然後編譯模型。
設置層
神經網絡的基本組成部分是層。
層從輸入給它們的數據中提取特徵。
這些特徵對於手頭上的問題是很有意義的。
大多數深度學習都是由一些層連接在一起的。
大多數層,例如,擁有在學習訓練中的參數。
在這個網絡中第一層中,,將像格式從二維數組像素轉換為一維數組像素。
可以將這一層看作是將像中的像素行展開並排列起來。
這一層沒有深度學習所需的參數。
它只是重新格式化數據。
在像素值被之後,這個網絡由兩個層的序列組成。
它們是緊密相連或完全相連的神經層。
這個第一個層有個節點或者說神經元,第二個也是最後一個層返回長度為的數組。
每個節點包含一個分數,這個值表示當前片屬於這個個分類中的一個的分值。
編譯模型
在模型準備好訓練之前,它需要一些更多的設置。
在模型訓練過程中這些參數被添加進去
損失函數這可以衡量模型在訓練期間的準確性,您想最小化這個函數,以便將模型引導到正確的方向
優化器這就是模型如何根據它看到的數據和它的損失函數進行更新
用於監控訓練和測試步驟。
下面的例子使用,即片被正確分類的分數。
訓練模型
訓練神經網絡模型需要以下步驟
將訓練數據輸入模型。
在這個例子中,訓練數據在和數組中。
模型學習去關聯像和標籤目標值
您要求模型對測試集進行預測。
在這個例子中,這裡測試集即數組。
驗證預測是否與數組中的標籤匹配。
模型
調用方法開始訓練模型。
之所以這麼說,是因為它使模型與訓練數據吻合。
輸出結果。。。