《深度學習:Keras快速開發入門》一書由樂毅、嚴超編著,電子工業出版社2017年8月出版
基本介紹
- 書名:深度學習:Keras快速開發入門
- 作者:樂毅 嚴超
- ISBN:978-7-121-31868-9
- 頁數:276
- 定價:69.00
- 出版社:電子工業出版社
- 出版時間:2017年8月
- 開本:16
內容提要,目錄,
內容提要
《深度學習:Keras快速開發入門》首先介紹了深度學習相關的理論和主流的深度學習框架,對比了不同深度學習框架的優缺點,以Keras這一具有高度模組化,極簡式的高層深度學習框架為切入點,從Keras的安裝、配置和編譯等基本環境入手,詳細介紹了Keras的模型、網路結構、數據預處理方法、參數配置以及調試技巧和可視化工具。幫助讀者快速掌握一款深度學習框架,從而解決工作和學習當中神經網路模型的使用問題。同時,《深度學習:Keras快速開發入門》還介紹了如何用Keras快速構建深度學習原型並著手實戰。最後通過Kaggle的知識競賽實例向讀者展示Keras作為深度學習開發工具的強大之處,從而幫助讀者迅速獲得深度學習開發經驗。
《深度學習:Keras快速開發入門》是一本實踐性很強的深度學習工具書,適合希望快速學習和使用Keras深度學習框架的工程師、學者和從業者。特別適合立志從事深度學習和AI相關的行業,並且對於希望用Keras開發實際項目的工程技術人員,是非常實用的參考手冊和工具書。
目錄
第1章 Keras概述 1
1.1 Keras簡介 1
1.1.1 Keras 2 1
1.1.2 Keras功能構成 4
1.2 Keras特點 6
1.3 主要深度學習框架 8
1.3.1 Caffe 8
1.3.2 Torch 10
1.3.3 Keras 12
1.3.4 MXNet 12
1.3.5 TensorFlow 13
1.3.5 CNTK 14
1.3.6 Theano 14
第2章 Keras的安裝與配置 16
2.1 Windows環境下安裝Keras 16
2.1.1 硬體配置 16
2.1.2 Windows版本 18
2.1.3 Microsoft Visual Studio版本 18
2.1.4 Python環境 18
2.1.5 CUDA 18
2.1.6 加速庫CuDNN 19
2.1.7 Keras框架的安裝 19
2.2 Linux環境下的安裝 20
2.2.1 硬體配置 20
2.2.2 Linux版本 21
2.2.3 Ubuntu環境的設定 22
2.2.4 CUDA開發環境 22
2.2.5 加速庫cuDNN 23
2.2.6 Keras框架安裝 24
第3章 Keras快速上手 25
3.1 基本概念 25
3.2 初識Sequential模型 29
3.3 一個MNIST手寫數字實例 30
3.3.1 MNIST數據準備 30
3.3.2 建立模型 31
3.3.3 訓練模型 32
第4章 Keras模型的定義 36
4.1 Keras模型 36
4.2 Sequential模型 38
4.2.1 Sequential模型接口 38
4.2.2 Sequential模型的數據輸入 48
4.2.3 模型編譯 49
4.2.4 模型訓練 50
4.3 函式式模型 51
4.3.1 全連線網路 52
4.3.2 函式模型接口 53
4.3.3 多輸入和多輸出模型 63
4.3.4 共享層模型 67
第5章 Keras網路結構 71
5.1 Keras層對象方法 71
5.2 常用層 72
5.2.1 Dense層 72
5.2.2 Activation層 74
5.2.3 Dropout層 75
5.2.4 Flatten層 75
5.2.5 Reshape層 76
5.2.6 Permute層 77
5.2.7 RepeatVector層 78
5.2.8 Lambda層 79
5.2.9 ActivityRegularizer層 80
5.2.10 Masking層 81
5.3 卷積層 82
5.3.1 Conv1D層 82
5.3.2 Conv2D層 84
5.3.3 SeparableConv2D層 87
5.3.4 Conv2DTranspose層 91
5.3.5 Conv3D層 94
5.3.6 Cropping1D層 97
5.3.6 Cropping2D層 97
5.3.7 Cropping3D層 98
5.3.8 UpSampling1D層 99
5.3.9 UpSampling2D層 100
5.3.10 UpSampling3D層 101
5.3.11 ZeroPadding1D層 102
5.3.12 ZeroPadding2D層 103
5.3.13 ZeroPadding3D層 104
5.4 池化層 105
5.4.1 MaxPooling1D層 105
5.4.2 MaxPooling2D層 106
5.4.3 MaxPooling3D層 108
5.4.4 AveragePooling1D層 109
5.4.5 AveragePooling2D層 110
5.4.6 AveragePooling3D層 111
5.4.7 GlobalMaxPooling1D層 112
5.4.8 GlobalAveragePooling1D層 113
5.4.9 GlobalMaxPooling2D層 113
5.4.10 GlobalAveragePooling2D層 114
5.5 局部連線層 115
5.5.1 LocallyConnected1D層 115
5.5.2 LocallyConnected2D層 117
5.6 循環層 120
5.6.1 Recurrent層 120
5.6.2 SimpleRNN層 124
5.6.3 GRU層 126
5.6.4 LSTM層 127
5.7 嵌入層 129
5.8 融合層 131
5.9 激活層 134
5.9.1 LeakyReLU層 134
5.9.2 PReLU層 134
5.9.3 ELU層 135
5.9.4 ThresholdedReLU層 136
5.10 規範層 137
5.11 噪聲層 139
5.11.1 GaussianNoise層 139
5.11.2 GaussianDropout層 139
5.12 包裝器Wrapper 140
5.12.1 TimeDistributed層 140
5.12.2 Bidirectional層 141
5.13 自定義層 142
第6章 Keras數據預處理 144
6.1 序列數據預處理 145
6.1.1 序列數據填充 145
6.1.2 提取序列跳字樣本 148
6.1.3 生成序列抽樣機率表 151
6.2 文本預處理 153
6.2.1 分割句子獲得單詞序列 153
6.2.2 OneHot序列編碼器 154
6.2.3 單詞向量化 155
6.3 圖像預處理 159
第7章 Keras內置網路配置 167
7.1 模型性能評估模組 168
7.1.1 Keras內置性能評估方法 168
7.1.2 使用Keras內置性能評估 170
7.1.3 自定義性能評估函式 171
7.2 損失函式 171
7.3 最佳化器函式 174
7.3.1 Keras最佳化器使用 174
7.3.2 Keras內置最佳化器 176
7.4 激活函式 180
7.4.1 添加激活函式方法 180
7.4.2 Keras內置激活函式 181
7.4.3 Keras高級激活函式 185
7.5 初始化參數 189
7.5.1 使用初始化方法 189
7.5.2 Keras內置初始化方法 190
7.5.3 自定義Keras初始化方法 196
7.6 正則項 196
7.6.1 使用正則項 197
7.6.2 Keras內置正則項 198
7.6.3 自定義Keras正則項 198
7.7 參數約束項 199
7.7.1 使用參數約束項 199
7.7.2 Keras內置參數約束項 200
第8章 Keras實用技巧和可視化 202
8.1 Keras調試與排錯 202
8.1.1 Keras Callback回調函式與調試技巧 202
8.1.2 備份和還原Keras模型 215
8.2 Keras內置Scikit-Learn接口包裝器 217
8.3 Keras內置可視化工具 224
第9章 Keras實戰 227
9.1 訓練一個準確率高於90%的Cifar-10預測模型 227
9.1.1 數據預處理 232
9.1.2 訓練 233
9.2 在Keras模型中使用預訓練詞向量判定文本類別 239
9.2.1 數據下載和實驗方法 240
9.2.2 數據預處理 241
9.2.3 訓練 245
9.3 用Keras實現DCGAN生成對抗網路還原MNIST樣本 247
9.3.1 DCGAN網路拓撲結構 250
9.3.2 訓練 254