在眾多深度學習框架中,最容易上手的就是Keras,其簡單、可擴展、可重復使用的特征使得非深度學習者也能輕松駕馭!禟eras深度學習 基于Python》通過日常生活中常見的樂高模型塊,以簡潔易懂的語言介紹了使用Keras時必知的深度學習概念,提供了可實操的Python源代碼,講解了能夠直觀構建并理解深度學習模型的模塊示例。
1.你即使不是深度學習專家,也可以利用Keras這個深度學習庫輕松構建深度學習模型。
2.本書涵蓋了使用Keras時所需的深度學習概念,并提供了可實操的Python源代碼。通過示例代碼,你可以直觀清晰地理解深度學習模型結構。
3.作者獨具特色地利用樂高玩具模塊,充滿創(chuàng)意地實現(xiàn)了多種深度學習模型,非常直觀、淺顯地展現(xiàn)了各類深度學習算法。
金兌映 運營Keras Korea Facebook群組、Keras博客,擔任(株)Inspace CTO、K-ICT大數(shù)據(jù)中心導師,慶熙大學太空探測系博士課程在讀。 韓國航空宇宙研究院研究員,韓國科學技術聯(lián)合研究生院(UST)衛(wèi)星系統(tǒng)與應用工程碩士,慶北大學電子電氣計算機工學院學士。
第 1 章 走進Keras 1
1.1 關于Keras .1
1.1.1 為什么是Keras 1
1.1.2 Keras 的主要特征 2
1.1.3 Keras 的基本概念 2
1.2 Mac 版Keras 安裝 .4
1.2.1 創(chuàng)建項目目錄 .5
1.2.2 創(chuàng)建虛擬開發(fā)環(huán)境 .5
1.2.3 安裝基于Web 的Python 開發(fā)
環(huán)境Jupyter Notebook .6
1.2.4 安裝主要的包 .6
1.2.5 安裝深度學習庫 .7
1.2.6 測試安裝環(huán)境 .7
1.2.7 更換深度學習引擎 .10
1.2.8 重啟 .10
1.2.9 解決錯誤 .10
1.3 Windows 版Keras 安裝 .12
1.3.1 安裝Anaconda .12
1.3.2 創(chuàng)建項目目錄 .14
1.3.3 創(chuàng)建虛擬環(huán)境 .15
1.3.4 安裝基于Web 的Python 開發(fā)
環(huán)境Jupyter Notebook .16
1.3.5 安裝主要的包 .17
1.3.6 安裝深度學習庫 .17
1.3.7 測試安裝環(huán)境 .18
1.3.8 重啟 .21
1.3.9 解決錯誤 .21
第 2 章 深度學習概念 .25
2.1 數(shù)據(jù)集簡介 .25
2.1.1 訓練集、驗證集和測試集 .25
2.1.2 Q&A 29
2.2 關于訓練過程 .29
2.2.1 Batchsize 與訓練周期 30
2.2.2 Q&A 32
2.3 查看訓練過程 .33
2.3.1 調用history 函數(shù) .33
2.3.2 啟動TensorBoard .36
2.3.3 編寫回調函數(shù) .39
2.3.4 Q&A 43
2.4 訓練早停 .43
2.4.1 過擬合模型 .43
2.4.2 設置早停 .46
2.4.3 Q&A 51
2.5 模型評價 .52
2.5.1 分類 .53
2.5.2 檢測與搜索 .60
2.5.3 分離 .65
2.6 查看/ 保存/ 調用訓練模型 .68
2.6.1 查看簡易模型 .69
2.6.2 實操中的深度學習系統(tǒng) .70
2.6.3 保存已訓練模型 .71
2.6.4 查看模型架構 .73
2.6.5 調用已訓練模型 .73
2.6.6 Q&A 74
第3 章 分層概念 76
3.1 多層感知層介紹 .76
3.1.1 模仿人類神經(jīng)系統(tǒng)的神經(jīng)元 .76
3.1.2 連接輸入/ 輸出的Dense 層 .78
3.2 搭建多層感知神經(jīng)網(wǎng)模型 .82
3.2.1 定義問題 .83
3.2.2 準備數(shù)據(jù) .83
3.2.3 生成數(shù)據(jù)集 .84
3.2.4 搭建模型 .85
3.2.5 設置模型訓練過程 .86
3.2.6 訓練模型 .86
3.2.7 評價模型 .87
3.2.8 全部代碼 .87
3.3 卷積神經(jīng)網(wǎng)絡分層 .89
3.3.1 過濾特征顯著的卷積層 .89
3.3.2 忽略細微變化的最大池化層 .95
3.3.3 將視頻一維化的Flatten 層 .96
3.3.4 嘗試搭建模型 .97
3.4 搭建卷積神經(jīng)網(wǎng)絡模型 .101
3.4.1 定義問題 .101
3.4.2 準備數(shù)據(jù) .102
3.4.3 生成數(shù)據(jù)集 .103
3.4.4 搭建模型 .104
3.4.5 設置模型訓練過程 .105
3.4.6 訓練模型 .105
3.4.7 評價模型 .106
3.4.8 使用模型 .107
3.4.9 全部代碼 .107
3.5 卷積神經(jīng)網(wǎng)絡模型數(shù)據(jù)增強 .109
3.5.1 現(xiàn)實問題 .110
3.5.2 查看原有模型結果 . 111
3.5.3 數(shù)據(jù)增強 .113
3.5.4 查看改善后的模型結果 .116
3.6 循環(huán)神經(jīng)網(wǎng)絡分層 .119
3.7 搭建循環(huán)神經(jīng)網(wǎng)絡模型 .121
3.7.1 準備序列數(shù)據(jù) .121
3.7.2 生成數(shù)據(jù)集 .122
3.7.3 訓練過程 .123
3.7.4 預測過程 .124
3.7.5 多層感知器神經(jīng)網(wǎng)絡模型 .126
3.7.6 標準LSTM 模型 131
3.7.7 Stateful LSTM 模型 .136
3.7.8 多種輸入屬性的模型結構 .141
第4 章 示例應用 148
4.1 輸入– 預測數(shù)值模型示例 .148
4.1.1 準備數(shù)據(jù)集 .148
4.1.2 準備層 .149
4.1.3 模型準備 .149
4.1.4 全部代碼 .152
4.1.5 訓練結果比較 .156
4.2 輸入數(shù)值二元分類模型示例 .157
4.2.1 準備數(shù)據(jù)集 .157
4.2.2 準備層 .159
4.2.3 準備模型 .159
4.2.4 全部代碼 .161
4.2.5 訓練結果比較 .164
4.3 輸入數(shù)值多元分類問題模型示例 .165
4.3.1 準備數(shù)據(jù)集 .165
4.3.2 數(shù)據(jù)預處理 .167
4.3.3. 準備層 168
4.3.4 準備模型 .168
4.3.5 全部代碼 .170
4.3.6 訓練結果比較 .174
4.4 輸入視頻預測數(shù)值的模型示例 .174
4.4.1 準備數(shù)據(jù)集 .175
4.4.2 準備層 .176
4.4.3 準備模型 .177
4.4.4 全部代碼 .178
4.4.5 訓練結果比較 .184
4.5 輸入視頻預測二元分類問題的模型
示例 .185
4.5.1 準備數(shù)據(jù)集 .185
4.5.2 準備層 .187
4.5.3 準備模型 .187
4.5.4 全部代碼 .189
4.5.5 訓練結果比較 .198
4.6 輸入視頻預測多元分類問題的模型
示例 .199
4.6.1 準備數(shù)據(jù)集 .200
4.6.2 準備層 .201
4.6.3 準備模型 .201
4.6.4 全部代碼 .203
4.6.5 訓練結果比較 .212
4.7 輸入時間序列數(shù)據(jù),預測數(shù)值的
模型示例 .213
4.7.1 準備數(shù)據(jù)集 .213
4.7.2 準備層 .215
4.7.3 準備模型 .215
4.7.4 全部代碼 .218
4.7.5 訓練結果比較 .228
4.7.6 Q&A 229
4.8 根據(jù)輸入句子(時間序列數(shù)值)預測
二元分類問題的模型示例 .230
4.8.1 準備數(shù)據(jù)集 .230
4.8.2 準備層 .231
4.8.3 準備模型 .232
4.8.4 全部代碼 .235
4.8.5 訓練結果比較 .241
4.9 輸入句子(時間序列數(shù)值)預測多元
分類問題的模型示例 .242
4.9.1 準備數(shù)據(jù)集 .243
4.9.2 準備層 .243
4.9.3 準備模型 .243
4.9.4 全部代碼 .246
4.9.5 訓練結果比較 .253