Python Web 深度學習 Hands-On Python Deep Learning for the Web: Integrating neural network architectures to build smart web apps with Flask, Django, and TensorFlow

[印]安努巴哈夫· 辛格 等著 黃進青 譯

  • Python Web 深度學習-preview-1
  • Python Web 深度學習-preview-2
  • Python Web 深度學習-preview-3
Python Web 深度學習-preview-1

買這商品的人也買了...

商品描述

《Python Web深度學習》詳細闡述了與Python Web相關的基本解決方案,主要包括人工智能簡介和機器學習基礎、使用Python進行深度學習、創建第一個深度學習Web應用程序、TensorFlow.js入門、通過API進行深度學習、使用Python在Google雲平臺上進行深度學習、使用Python在AWS上進行深度學習、使用Python在Microsoft Azure上進行深度學習、支持深度學習的網站的通用生產框架、使用深度學習系統保護Web應用程序、自定義Web深度學習生產環境、使用深度學習API和客服聊天機器人創建端到端Web應用程序等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。

目錄大綱

目錄

第1篇 Web和人工智能 1

第1章 人工智能簡介和機器學習基礎 3

1.1 人工智能及其類型簡介 4

1.1.1 影響人工智能推進的因素 4

1.1.2 數據 5

1.1.3 算法的進步 6

1.1.4 硬件的進步 7

1.1.5 高性能計算的大眾化 7

1.2 機器學習—流行的人工智能形式 7

1.3 關於深度學習 8

1.4 人工智能、機器學習和深度學習之間的關系 10

1.5 機器學習基礎知識 11

1.5.1 機器學習的類型 11

1.5.2 監督學習 12

1.5.3 無監督學習 13

1.5.4 強化學習 13

1.5.5 半監督學習 14

1.6 必要的術語 14

1.6.1 訓練集、測試集和驗證集 14

1.6.2 偏差和方差 15

1.6.3 過擬合和欠擬合 15

1.6.4 訓練誤差和泛化誤差 17

1.7 機器學習的標準工作流程 18

1.7.1 數據檢索 18

1.7.2 數據準備 19

1.7.3 建立模型 20

1.7.4 模型對比與選擇 23

1.7.5 部署和監控 23

1.8 融合AI之前和之後的Web應用 25

1.8.1 聊天機器人 25

1.8.2 Web分析 26

1.8.3 垃圾郵件過濾 27

1.8.4 搜索引擎 28

1.9 知名Web-AI企業以及它們正在做的工作 29

1.9.1 Google 30

1.9.2 Facebook 33

1.9.3 Amazon 34

1.10 小結 35

第2篇 使用深度學習進行Web開發

第2章 使用Python進行深度學習 39

2.1 揭開神經網絡的神秘面紗 39

2.1.1 人工神經元 40

2.1.2 線性神經元詳解 41

2.1.3 非線性神經元詳解 43

2.1.4 神經網絡的輸入和輸出層 45

2.1.5 梯度下降和反向傳播 49

2.2 不同類型的神經網絡 52

2.2.1 捲積神經網絡 52

2.2.2 循環神經網絡 58

2.3 Jupyter Notebook初探 64

2.3.1 安裝Jupyter Notebook 64

2.3.2 驗證安裝 65

2.3.3 使用Jupyter Notebook 66

2.4 設置基於深度學習的雲環境 67

2.4.1 設置AWS EC2 GPU深度學習環境 68

2.4.2 Crestle上的深度學習 72

2.4.3 其他深度學習環境 72

2.5 NumPy和Pandas初探 73

2.5.1 關於NumPy庫 73

2.5.2 NumPy數組 73

2.5.3 基本的NumPy數組操作 75

2.5.4 NumPy數組與Python列表 76

2.5.5 關於Pandas 77

2.6 小結 78

第3章 創建第一個深度學習Web應用程序 79

3.1 技術要求 79

3.2 構建深度學習Web應用程序 80

3.2.1 深度學習Web應用程序規劃 80

3.2.2 通用深度學習網絡應用程序的結構圖 80

3.3 理解數據集 81

3.3.1 手寫數字的MNIST數據集 81

3.3.2 探索數據集 82

3.3.3 創建函數來讀取圖像文件 83

3.3.4 創建函數來讀取標簽文件 85

3.3.5 數據集匯總信息 85

3.4 使用Python實現一個簡單的神經網絡 86

3.4.1 導入必要的模塊 87

3.4.2 重用函數以加載圖像和標簽文件 87

3.4.3 重塑數組以使用Keras進行處理 89

3.4.4 使用Keras創建神經網絡 89

3.4.5 編譯和訓練Keras神經網絡 90

3.4.6 評估和存儲模型 91

3.5 創建Flask API以使用服務器端Python 92

3.5.1 設置環境 92

3.5.2 上傳模型結構和權重 92

3.5.3 創建第一個Flask服務器 92

3.5.4 導入必要的模塊 93

3.5.5 將數據加載到腳本運行時並設置模型 93

3.5.6 設置應用程序和index()函數 94

3.5.7 轉換圖像函數 94

3.5.8 預測API 95

3.6 通過cURL使用API並使用Flask創建Web客戶端 96

3.6.1 通過cURL使用API 96

3.6.2 為API創建一個簡單的Web客戶端 97

3.7 改進深度學習後端 100

3.8 小結 100

第4章 TensorFlow.js入門 101

4.1 技術要求 101

4.2 TF.js的基礎知識 102

4.2.1 關於TensorFlow 102

4.2.2 關於TF.js 102

4.2.3 TF.js出現的意義 102

4.3 TF.js的基本概念 103

4.3.1 張量 103

4.3.2 變量 104

4.3.3 操作符 104

4.3.4 模型和層 105

4.4 使用TF.js的案例研究 106

4.4.1 TF.js迷你項目的問題陳述 106

4.4.2 鳶尾花數據集 106

4.5 開發一個使用TF.js的深度學習Web應用程序 107

4.5.1 準備數據集 107

4.5.2 項目架構 107

4.5.3 啟動項目 108

4.5.4 創建TF.js模型 110

4.5.5 訓練TF.js模型 112

4.5.6 使用TF.js模型進行預測 113

4.5.7 創建一個簡單的客戶端 115

4.5.8 運行TF.js Web應用程序 117

4.6 TF.js的優點和局限性 119

4.7 小結 119

第3篇 使用不同的深度學習API進行Web開發

第5章 通過API進行深度學習 123

5.1 關於API 123

5.2 使用API的重要性 124

5.3 API與庫的異同 125

5.4 一些廣為人知的深度學習API 126

5.5 一些鮮為人知的深度學習API 127

5.6 選擇深度學習API提供商 128

5.7 小結 129

第6章 使用Python在Google雲平臺上進行深度學習 131

6.1 技術要求 131

6.2 設置Google雲平臺賬戶 131

6.3 在GCP上創建第一個項目 133

6.4 在Python中使用Dialogflow API 135

6.4.1 創建Dialogflow賬戶 136

6.4.2 創建新代理 136

6.4.3 創建新Intent 138

6.4.4 測試代理 139

6.4.5 安裝Dialogflow Python SDK 140

6.4.6 創建GCP服務賬號 141

6.4.7 使用Python API調用Dialogflow代理 143

6.5 在Python中使用Cloud Vision API 146

6.5.1 使用預訓練模型的重要性 147

6.5.2 設置Vision Client庫 148

6.5.3 使用Python調用Cloud Vision API 149

6.6 在Python中使用Cloud Translation API 150

6.6.1 為Python設置Cloud Translate API 151

6.6.2 使用Google Cloud Translation Python庫 152

6.7 小結 152

第7章 使用Python在AWS上進行深度學習 155

7.1 技術要求 155

7.2 AWS入門 156

7.3 AWS產品簡介 158

7.4 boto3入門 160

7.5 配置環境變量並安裝boto3 162

7.5.1 在Python中加載環境變量 162

7.5.2 創建S3存儲桶 162

7.5.3 使用boto3從Python代碼中訪問S3 164

7.6 在Python中使用Rekognition API 165

7.6.1 Rekognition API功能介紹 165

7.6.2 使用Rekognition API的名人識別功能 166

7.6.3 通過Python代碼調用Rekognition API 167

7.7 在Python中使用Alexa API 171

7.7.1 先決條件和項目框圖 171

7.7.2 為Alexa技能創建配置 173

7.7.3 設置Login with Amazon服務 173

7.7.4 創建技能 175

7.7.5 配置AWS Lambda函數 176

7.7.6 創建Lambda函數 178

7.7.7 配置Alexa技能 180

7.7.8 為技能設置Amazon DynamoDB 181

7.7.9 為AWS Lambda函數部署代碼 182

7.7.10 測試Lambda函數 189

7.7.11 測試AWS Home Automation技能 191

7.8 小結 192

第8章 使用Python在Microsoft Azure上進行深度學習 195

8.1 技術要求 195

8.2 設置Azure賬戶 196

8.3 Azure提供的深度學習服務 198

8.4 使用Face API和Python進行對象檢測 200

8.4.1 初始設置 200

8.4.2 在Python代碼中使用Face API 203

8.4.3 可視化識別結果 205

8.5 使用Text Analytics API和Python提取文本信息 207

8.5.1 快速試用Text Analytics API 207

8.5.2 在Python代碼中使用Text Analytics API 208

8.6 關於CNTK 210

8.6.1 CNTK入門 210

8.6.2 在本地機器上安裝CNTK 210

8.6.3 在Google Colaboratory上安裝CNTK 211

8.6.4 創建CNTK神經網絡模型 212

8.6.5 訓練CNTK模型 215

8.6.6 測試和保存CNTK模型 216

8.7 Django Web開發簡介 216

8.7.1 Django入門 217

8.7.2 創建一個新的Django項目 218

8.7.3 設置主頁模板 218

8.8 使用來自Django項目的CNTK進行預測 223

8.8.1 設置預測路由和視圖 223

8.8.2 進行必要的模塊導入 224

8.8.3 使用CNTK模型加載和預測 225

8.8.4 測試Web應用程序 226

8.9 小結 227

第4篇 生產環境中的深度學習——智能Web應用程序開發

第9章 支持深度學習的網站的通用生產框架 231

9.1 技術要求 231

9.2 定義問題陳述 232

9.3 建立項目的心智模型 232

9.4 避免獲得錯誤數據 235

9.5 關於構建AI後端的問題 237

9.5.1 期望網站的AI部分是實時的 237

9.5.2 假設來自網站的傳入數據是理想的 237

9.6 端到端AI集成Web應用程序示例 238

9.6.1 數據收集和清洗 238

9.6.2 構建AI模型 239

9.6.3 導入必要的模塊 239

9.6.4 讀取數據集並準備清洗函數 240

9.6.5 提取需要的數據 240

9.6.6 應用文本清洗函數 241

9.6.7 將數據集拆分為訓練集和測試集 241

9.6.8 聚合有關產品和用戶的文本 241

9.6.9 創建用戶和產品的TF-IDF向量化器 242

9.6.10 根據提供的評級創建用戶和產品索引 242

9.6.11 創建矩陣分解函數 243

9.6.12 將模型保存為pickle文件 243

9.6.13 構建用戶界面 244

9.6.14 創建API來響應搜索查詢 244

9.6.15 創建用戶界面以使用API 247

9.7 小結 248

第10章 使用深度學習系統保護Web應用程序 249

10.1 技術要求 249

10.2 reCAPTCHA的由來 250

10.3 惡意用戶檢測 251

10.4 基於LSTM的用戶認證模型 252

10.4.1 為用戶身份認證有效性檢查構建模型 252

10.4.2 訓練模型 256

10.4.3 托管自定義身份驗證模型 257

10.5 基於Django構建使用API的應用程序 259

10.5.1 Django項目設置 259

10.5.2 在項目中創建應用程序 259

10.5.3 將應用程序鏈接到項目中 260

10.5.4 為網站添加路由 260

10.5.5 在BBS應用程序中創建路由處理文件 261

10.5.6 添加認證路由和配置 261

10.5.7 創建登錄頁面 261

10.5.8 創建註銷視圖 263

10.5.9 創建登錄頁面模板 263

10.5.10 BBS頁面模板 265

10.5.11 添加到BBS頁面模板 265

10.5.12 BBS模型 266

10.5.13 創建BBS視圖 267

10.5.14 創建添加貼文的視圖 268

10.5.15 創建管理員用戶並對其進行測試 268

10.5.16 通過Python在Web應用程序中使用reCAPTCHA 269

10.6 使用Cloudflare保護網站安全 272

10.7 小結 273

第11章 自定義Web深度學習生產環境 275

11.1 技術要求 275

11.2 生產環境中的深度學習概述 276

11.2.1 Web API服務 278

11.2.2 在線學習 278

11.2.3 批量預測 278

11.2.4 自動機器學習 278

11.3 在生產環境中部署機器學習的流行工具 279

11.3.1 creme 279

11.3.2 Airflow 282

11.3.3 AutoML 284

11.4 深度學習Web生產環境示例 285

11.4.1 項目基礎步驟 285

11.4.2 探索數據集 285

11.4.3 構建預測模型 286

11.4.4 實現前端 290

11.4.5 實現後端 291

11.4.6 將項目部署到Heroku上 294

11.5 安全措施、監控技術和性能優化 297

11.6 小結 298

第12章 使用深度學習API和客服聊天機器人創建端到端Web應用程序 299

12.1 技術要求 299

12.2 自然語言處理簡介 300

12.2.1 語料庫 300

12.2.2 詞性 300

12.2.3 分詞 301

12.2.4 詞乾提取和詞形還原 301

12.2.5 詞袋 302

12.2.6 相似性 302

12.3 聊天機器人簡介 303

12.4 創建擁有客服代表個性的Dialogflow機器人 304

12.4.1 關於Dialogflow 304

12.4.2 步驟1—打開Dialogflow控制台 305

12.4.3 步驟2—創建新代理 306

12.4.4 步驟3—瞭解儀表板 306

12.4.5 步驟4—創建Intent 308

12.4.6 步驟5—創建一個webhook 313

12.4.7 步驟6—創建Firebase Cloud Functions 313

12.4.8 步驟7—為機器人添加個性 315

12.5 通過ngrok在本地主機上使用HTTPS API 316

12.6 使用Django創建測試用戶界面來管理訂單 318

12.6.1 步驟1—創建Django項目 318

12.6.2 步驟2—創建一個使用訂單管理系統API的應用程序 319

12.6.3 步驟3—設置settings.py 319

12.6.4 步驟4—向apiui中添加路由 320

12.6.5 步驟5—在apiui應用程序中添加路由 321

12.6.6 步驟6—創建所需的視圖 321

12.6.7 步驟7—創建模板 322

12.7 使用Web Speech API在網頁上進行語音識別和語音合成 322

12.7.1 步驟1—創建按鈕元素 323

12.7.2 步驟2—初始化Web Speech API並執行配置 324

12.7.3 步驟3—調用Dialogflow代理 325

12.7.4 步驟4—在Dialogflow Gateway上創建Dialogflow API代理 326

12.7.5 步驟5—為按鈕添加click處理程序 328

12.8 小結 329

附錄A Web+深度學習的成功案例和新興領域 331

A.1 成功案例 331

A.1.1 Quora 331

A.1.2 多鄰國 332

A.1.3 Spotify 333

A.1.4 Google相冊 333

A.2 重點新興領域 334

A.2.1 音頻搜索 334

A.2.2 閱讀理解 336

A.2.3 檢測社交媒體上的假新聞 337

A.3 結語 338