第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
· · · · · · (
收起)