本書旨在介紹智能前端開發(fā)和深度學習。本書首先介紹了相關的開發(fā)環(huán)境、前端開發(fā)基礎知識、深度學習基礎知識、前端智能框架和卷積神經(jīng)網(wǎng)絡,然后講述了線性回歸、logistical 回歸、XOR 問題、人體姿態(tài)檢測:目標檢測、光學字符識別等方面的案例,最后講解了前端智能化案例。
本書適合 Web 前端開發(fā)人員、人工智能開發(fā)人員閱讀,也可作為計算機相關專業(yè)師生的參考用書。
1.深入淺出,通俗易懂
基于TensorFlow.js講述如何在瀏覽器端開發(fā)人工智能應用,深入淺出地介紹了前端開發(fā)、深度學習的相關知識,幫助讀者提升智能前端開發(fā)水平。
2.實用工具書,針對性強
從環(huán)境配置出發(fā),詳細介紹了卷積神經(jīng)網(wǎng)絡與移動端常用的幾個網(wǎng)絡模型。
3.實例豐富,參考性強
提供大量實際案例,具有較高參考價值。
4.適用性強,具有廣泛性
適配新版本以及多類型設備,具有廣泛參考性。
石璞東,西安建筑科技大學碩士研究生,研究方向包括機器學習、Web開發(fā),擔任百度飛槳領航團金牌團長和hahaWebsite網(wǎng)站站長。
吳萌,西安建筑科技大學信息與控制工程學院副教授,碩士生導師,美國俄亥俄州立大學訪問學者,中國圖象圖形學學會數(shù)字文化遺產(chǎn)專委會委員。
王慧琴,西安建筑科技大學信息與控制工程學院副院長、教授、博士生導師,通信與信息系統(tǒng)研究所所長,陜西省圖象圖形學學會理事,中國圖象圖形學學會圖像應用與系統(tǒng)集成專委會委員,中國圖象圖形學學會數(shù)字文化遺產(chǎn)專委會委員。
目 錄
第 1章 開發(fā)環(huán)境配置 1
1.1 安裝Anaconda3 1
1.2 安裝TensorFlow 2 6
1.3 安裝npm包管理工具 11
1.4 安裝TensorFlow.js的相關包 14
1.5 使用WebStorm 18
1.6 使用Google瀏覽器 19
1.6.1 注冊Chrome Web Store開發(fā)者 19
1.6.2 Google瀏覽器擴展程序 20
1.7 使用微信開發(fā)者工具 27
1.7.1 添加微信小程序插件 29
1.7.2 使用微信小程序插件 29
1.7.3 發(fā)布微信小程序 35
第 2章 前端開發(fā)基礎 39
2.1 背景知識概述 39
2.2 HTML基礎 40
2.2.1 HTML文檔基本結構 41
2.2.2 常用標簽 49
2.3 CSS基礎 55
2.3.1 CSS的3種使用方法 55
2.3.2 CSS選擇器 56
2.4 JavaScript基礎 56
2.5 與Google擴展程序相關的JavaScriptAPI 58
2.6 深度學習中的JavaScript 61
2.6.1 JavaScript數(shù)據(jù)類型 61
2.6.2 JavaScript異步編程 63
2.7 微信小程序開發(fā) 67
2.7.1 微信小程序框架結構分析 68
2.7.2 頁面描述文件 72
2.7.3 頁面樣式文件 87
2.7.4 邏輯層文件 88
2.7.5 小程序的事件系統(tǒng) 91
第3章 深度學習概述 95
3.1 深度學習環(huán)境 95
3.1.1 云端深度學習環(huán)境選擇 95
3.1.2 本地深度學習環(huán)境搭建 104
3.2 深度學習框架 105
3.3 TensorFlow 2基礎 113
3.3.1 數(shù)據(jù)類型 113
3.3.2 數(shù)值精度 115
3.3.3 操作和計算圖 116
3.3.4 自動微分和梯度帶 117
3.3.5 廣播機制 118
3.3.6 框架概述 118
3.4 深度學習基礎 119
3.4.1 BP神經(jīng)網(wǎng)絡 120
3.4.2 激活函數(shù) 121
3.4.3 softmax函數(shù) 126
3.4.4 損失函數(shù) 126
3.4.5 梯度下降算法 130
3.4.6 反向傳播 132
第4章 TensorFlow.js框架詳解 134
4.1 TensorFlow.js框架概述 134
4.2 TensorFlow.js低階API詳解 136
4.2.1 張量操作方法 136
4.2.2 數(shù)學運算 148
4.3 TensorFlow.js高階API詳解 153
4.3.1 構建模型 154
4.3.2 模型配置 160
4.3.3 模型訓練 160
4.3.4 模型評估 160
4.3.5 模型轉換 164
4.4 TensorFlow.js Vis庫詳解 166
4.4.1 Visor接口方法介紹 167
4.4.2 模型可視化 168
4.4.3 數(shù)據(jù)可視化 173
4.4.4 模型評價指標 175
4.5 其他API 176
4.5.1 數(shù)據(jù)操作 176
4.5.2 瀏覽器操作 183
4.5.3 性能優(yōu)化 184
4.5.4 正則化 185
4.5.5 早停法 185
第5章 卷積神經(jīng)網(wǎng)絡 187
5.1 卷積神經(jīng)網(wǎng)絡概述 187
5.2 卷積層 188
5.3 池化層 192
5.4 輕量級的卷積神經(jīng)網(wǎng)絡 194
5.4.1 SqueezeNet 195
5.4.2 MobileNetV1 198
5.4.3 ShuffleNetV1 201
5.4.4 Xception 203
第6章 TensorFlow.js基礎案例 206
6.1 線性回歸 207
6.1.1 案例簡介 207
6.1.2 代碼實現(xiàn) 207
6.2 logistical回歸 211
6.2.1 案例簡介 211
6.2.2 代碼實現(xiàn) 211
6.3 XOR問題 215
6.3.1 案例簡介 215
6.3.2 代碼實現(xiàn) 216
6.4 加載與應用MobileNet模型 220
6.4.1 案例簡介 220
6.4.2 代碼實現(xiàn) 220
6.5 《你畫我猜》(MNIST手寫數(shù)字版) 224
6.5.1 案例簡介 224
6.5.2 代碼實現(xiàn) 224
第7章 TensorFlow官方數(shù)據(jù)集實戰(zhàn) 231
7.1 boston_housing數(shù)據(jù)集與實戰(zhàn)案例 231
7.1.1 數(shù)據(jù)集介紹 231
7.1.2 房價預測實戰(zhàn) 232
7.2 與CIFAR-10數(shù)據(jù)集相關的實戰(zhàn)案例 235
7.2.1 數(shù)據(jù)集介紹 235
7.2.2 在Anaconda3 Jupyter Notebook中加載數(shù)據(jù)集 235
7.2.3 在Kaggle中導入CIFAR-10數(shù)據(jù)集 236
7.2.4 從本地導入CIFAR-10數(shù)據(jù)集 240
7.3 與CIFAR-100數(shù)據(jù)集相關的實戰(zhàn)案例 248
7.3.1 數(shù)據(jù)集介紹 248
7.3.2 數(shù)據(jù)集展示 249
7.4 與MNIST數(shù)據(jù)集相關的實戰(zhàn)案例 253
7.4.1 數(shù)據(jù)集介紹 253
7.4.2 數(shù)據(jù)集展示 253
7.5 與Fashion_MNIST數(shù)據(jù)集相關實戰(zhàn)案例 255
7.5.1 數(shù)據(jù)集介紹 255
7.5.2 數(shù)據(jù)集加載 256
7.6 基于CNN的MNIST手寫數(shù)字識別 257
7.6.1 自定義網(wǎng)絡模型 257
7.6.2 微信小程序部署 261
第8章 基于CNN的常見水果分類識別 266
8.1 數(shù)據(jù)集介紹 266
8.2 數(shù)據(jù)集標注 269
8.3 數(shù)據(jù)預處理 277
8.3.1 數(shù)據(jù)文件讀取 277
8.3.2 文件解碼 278
8.3.3 文件數(shù)據(jù)類型轉換 278
8.3.4 數(shù)據(jù)歸一化 280
8.4 模型概覽 282
8.5 模型設計 284
8.6 模型配置 284
8.7 模型訓練 285
8.8 模型評估 286
8.9 模型部署 289
8.9.1 在微信小程序中加載模型 289
8.9.2 在Google瀏覽器中加載模型 291
第9章 基于PoseNet的人體姿態(tài)檢測 293
9.1 項目概述 293
9.2 項目初始化 294
9.2.1 添加camera組件 295
9.2.2 添加canvas對象 296
9.3 模型加載 296
9.4 姿態(tài)檢測 297
9.5 預測結果繪制 301
9.6 效果展示 302
第 10章 基于Coco SSD的目標檢測 303
10.1 項目概述 303
10.2 項目初始化 304
10.2.1 添加camera組件 304
10.2.2 添加canvas對象 305
10.3 模型加載 305
10.4 目標檢測 305
10.5 預測結果繪制 307
10.6 效果展示 307
第 11章 OCR技術 309
11.1 OCR技術概述 310
11.2 OCR工具推薦 311
11.3 微信OCR 315
11.3.1 插件配置信息 316
11.3.2 頁面結構設計 317
11.3.3 頁面邏輯功能 318
11.4 Google擴展程序OCR 319
11.4.1 插件配置信息 319
11.4.2 頁面結構設計 320
11.4.3 頁面邏輯功能 321
11.4.4 后臺腳本 322
第 12章 神奇的人工智能 324
12.1 個人網(wǎng)站惡意評論檢測 324
12.1.1 項目簡介 324
12.1.2 代碼實現(xiàn) 326
12.1.3 效果展示 330
12.2 微信同聲傳譯 331
12.2.1 項目簡介 331
12.2.2 代碼實現(xiàn) 332
12.2.3 效果展示 333
12.3 Google面館正式營業(yè)了 334
12.4 猜畫小歌 335
12.5 Face Touch Monitor 335
12.6 Teachable Machine 336
12.7 其他案例 337