深度學習訓練營 21天實戰 TensorFlow+Keras+scikit-learn
內容描述
本書基於TensorFlow、Keras和scikit- learn,介紹了21個典型的人工智能應用場景。
全書共3篇,分別是預測類項目實戰篇、識別類項目實戰篇和生成類項目實戰篇。
其中預測類項目包括房價預測、泰坦尼克號生還預測、共享單車使用情況預測、
福彩3D中獎預測、股票走勢預測等8個項目;識別類項目包括數字識別、人臉識別、
表情識別、人體姿態識別等7個項目;生成類項目包括看圖寫話、生成電視劇劇本、
風格遷移、生成人臉等6個項目。
本書代碼豐富,註釋詳盡,適合有一定Python基礎的讀者,
包括計算機相關專業的學生、程序員和人工智能神經網絡的技術愛好者。
目錄大綱
目錄:
第一篇預測類項目實戰
第1章房價預測
1.1數據準備
1.1.1環境準備
1.1.2預處理數據
1.1.3數據可視化分析
1.2基於scikit-learn實現房價預測
1.2.1衡量R2值
1.2.2模型性能對比
1.2.3網格搜索模型
1.2.4波士頓房價預測
1.2.5北京房價預測
1.3基於Keras實現房價預測
1.3.1數據準備
1.3.2創建神經網絡模型
1.3.3訓練網絡模型
1.3.4可視化模型的結果
1.3.5評估和預測模型
1.3.6預測可視化顯示
1.4小結
第2章泰坦尼克號生還預測
2.1數據準備
2.1.1環境準備
2.1.2預處理數據
2.1.3缺失值處理
2.1.4數據清洗與分割
2.2基於決策樹模型預測
2.2.1訓練
2.2.2預測
2.3基於邏輯回歸模型預測
2.3.1訓練
2.3.2預測
2.4基於梯度提升分類器模型預測
2.4.1訓練
2.4.2預測
2.5基於神經網絡模型預測
2.5.1訓練
2.5.2預測
2.5.3繪製曲線圖
2.6基於Keras的神經網絡模型預測
2.6.1訓練
2.6.2預測
2.7小結
第3章共享單車使用情況預測
3.1數據準備
3.1 .1環境準備
3.1.2數據可視化
3.1.3預處理數據
3.1.4數據清洗與分割
3.2基於TensorFlow的長短期記憶網絡模型預測
3.2.1處理序列
3.2.2參數準備
3.2.3創建LSTM模型
3.2. 4訓練模型
3.2.5模型預覽與測試
3.2.6對比預測值模型預覽
3.3小結
第4章福彩3D中獎預測
4.1數據準備
4.1.1環境準備
4.1.2數據準備
4.1.3數據預處理
4.1.4數據可視化
4.2基於神經網絡模型預測
4.2.1決策樹
4.2.2多層感知器
4.2.3時間序列基礎
4.2.4時間序列預測
4.2.5根據開獎號碼單變量單個位數預測
4.3小結
第5章股票走勢預測
5.1數據準備
5.1.1環境準備
5.1.2數據集說明
5.2百度股票預測
5.2.1數據準備
5.2.2數據可視化
5.2.3計算購買的股票收益
5.2.4訓練和評估模型
5.2.5股票預測
5.2.6股票買入策略
5.3微軟股票預測
5.3.1數據準備
5.3.2數據可視化
5.3.3計算購買的股票收益
5.3.4訓練和評估模型
5.3.5股票預測
5.3.6股票買入戰略
5.4小結
第6章垃圾郵件預測
6.1數據準備
6.1.1環境準備
6.1.2數據準備
6.1 .3數據預處理
6.2基於多項式樸素貝葉斯的郵件分類
6.2.1數據處理
6.2.2創建和訓練模型
6.2.3測試模型
6.3基於TensorFlow的神經網絡模型的郵件分類
6.3.1構建N-Gram向量化數據
6.3.2創建模型
6.3.3訓練模型
6.3.4可視化訓練結果
6.4小結
第7章影評的情感分析
7.1數據準備
7.1.1環境準備
7.1.2預處理數據
7.1.3數據集編碼
7.1.4數據集分割
7.2基於TensorFlow的長短期記憶網絡實現影評的情感分析
7.2.1參數準備
7.2.2創建LSTM模型
7.2.3訓練模型
7.2.4模型測試
7.3基於Keras的長短期記憶網絡實現影評的情感分析
7.3.1數據預處理
7.3.2創建模型
7.3.3預覽模型架構
7.3.4訓練模型
7.3.5模型評估
7.4小結
第8章語言翻譯
8.1數據準備
8.1.1環境準備
8.1.2數據準備
8.1.3數據預處理
8.2基於Keras的長短期記憶網絡實現語言翻譯
8.2.1 Tokenize文本數據
8.2.2數據編碼和填充
8.2.3創建模型
8.2.4訓練模型
8.2.5測試模型
*二篇識別類項目實戰
第9章MNIST手寫數字識別
9.1 MNIST數據集
9.1.1簡介
9.1.2數據下載
9.1.3可視化數據
9.2基於多層感知器的TensorFlow實現MNIST識別
9.2.1參數準備
9.2.2創建模型
9.2.3訓練模型
9.2.4模型預測
9.3基於多層感知器的Keras實現MNIST識別
9.3.1數據準備
9.3.2創建模型
9.3.3訓練模型
9.3.4模型預測
9.3.5單張圖像預測
9.4基於卷積神經網絡的TensorFlow實現MNIST識別
9.4.1參數準備
9.4.2創建模型
9.4.3訓練模型
9.4.4模型預測
9.5基於卷積神經網絡的Keras實現MNIST識別
9.5.1數據準備
9.5.2創建模型
9.5.3訓練模型
9.5.4模型預測
9.5.5單張圖像預測
9.6小結
第10章狗狗的品種識別
10.1數據準備
10.1.1環境準備
10.1.2數據可視化
10.1.3預處理數據
10.2基於Keras的捲積神經網絡模型預測
10.2.1創建模型
10.2.2訓練模型
10.2.3模型評估
10.3基於Keras的InceptionV3預訓練模型實現預測
10.3.1模型函數聲明
10.3.2預測單張圖片
10.4基於TFHUB的Keras的遷移學習實現預測
10.4.1數據集下載和準備
10.4.2預訓練模型下載
10.4.3創建模型
10.4.4訓練模型
10.4.5測試模型
10.4.6模型預測單張圖片
10.5小結
第11章人臉識別
11.1數據準備
11.1.1環境準備
11.1.2數據下載和分析
11.1.3人臉圖像數據預覽
11.2基於FaceNet的人臉對齊和驗證
11.2.1下載和對齊圖像
11.2.2在LFW上驗證
11.3訓練自己的人臉識別模型
11.3.1圖像數據準備和對齊
11.3.2訓練模型
11.3.3驗證模型
11.3.4再訓練模型
11.3.5再評估模型
11.3.6將模型CheckPoints文件轉換成pb文件
11.4基於FaceRecognition的人臉識別
11.4 .1配置環境
11.4.2人臉圖像檢測
11.4.3實時人臉識別
11.5小結
第12章人臉面部表情識別
12.1基於Keras的捲積神經網絡實現人臉面部表情識別
12.1.1環境準備
12.1.2數據準備
12.1.3數據集分割
12.1.4數據集預處理
12.1.5構建CNN模型
12.1.6圖片增強與訓練模型
12.1.7評估模型
12.1.8保存與讀取模型
12.1.9單張圖片測試模型
12.2對視頻中的人臉面部做表情識別
12.2.1讀取模型
12.2.2模型參數定義
12.2.3視頻的幀處理函數定義
12.2. 4識別與轉換視頻
12.3實時人臉面部表情識別
12.3.1模型參數定義
12.3.2啟動攝像頭和識別處理
12.4小結
第13章人體姿態識別
13.1基於TensorFlow實現人體姿態識別
13.1.1環境準備
13.1.2下載與安裝
13.1.3單張圖像識別
13.1.4視頻內容裡的人的姿態識別
13.1.5實時攝像識別
13.2基於Keras實現人體姿態識別
13.2.1環境準備
13.2.2下載倉庫
13.2.3單張圖像識別
13.2.4視頻內容裡的人的姿態識別
13.2.5實時攝像識別
13.3小結
第14章皮膚癌分類
14.1數據準備
14.1.1環境準備
14.1.2數據下載
14.1.3數據可視化
14.2基於Keras的捲積神經網絡實現分類
14.2.1數據預處理
14.2.2創建CNN模型
14.2.3編譯模型
14.2.4訓練模型
14.2.5評估模型和圖像測試
14.3基於TensorFlow的遷移學習實現分類
14.3.1數據準備
14.3.2訓練模型
14.3.3驗證模型
14.3.4 Tensorboard可視化
14.4小結
第15章對象檢測
15.1對象檢測的應用領域
15.1.1無人機應用領域
15.1.2自動駕駛汽車應用領域
15.1.3無人超市應用領域
15.2原理分析
15.2.1 R-CNN的介紹與分析
15.2.2 Faster R-CNN的介紹與分析
15.2.3 Mask R-CNN的介紹與分析
15.3基於Mask R- CNN Inception COCO的圖片對象檢測
15.3.1環境準備
15.3.2導入Packages
15.3.3下載Mask R-CNN Inception 2018預訓練模型
15.3.4加載模型到內存中
15.3.5加載類別映射
15.3.6定義函數將圖片轉為Numpy數組
15.3.7定義圖像對象檢測函數
15.3.8檢測圖像中的對象
15.3.9效果預覽
15.4基於Faster R -CNN Inception COCO的視頻實時對象檢測
15.4.1環境準備
15.4.2導入Packages
15.4.3下載Faster R-CNN Inception 2018預訓練模型
15.4.4加載模型到內存中
15.4.5加載類別映射
15.4.6定義視頻中的圖像對象檢測函數
15.4.7定義視頻中的圖像處理函數
15.4.8視頻中的圖像對象檢測
15.4.9效果預覽
15.5基於SSD MobileNet COCO的實時對象檢測
15.5.1環境準備
15.5.2導入Packages
15.5.3下載SSD MobileNet 2018預訓練模型
15.5.4加載模型到內存中
15.5.5加載類別映射
15.5.6開啟實時對象檢測
15.5.7效果預覽
15.6小結
第三篇生成類項目實戰
第16章看圖寫話
16.1數據準備
16.1.1環境準備
16.1.2數據下載
16.1.3數據預處理
16.2基於TensorFlow的Show and Tell實現看圖寫話
16.2.1數據統計
16.2.2構建TFRecords格式數據
16.2.3訓練模型
16.2.4評估模型
16.2.5測試模型
16.3小結
第17章生成電視劇劇本
17.1數據準備
17.1.1環境準備
17.1.2數據預處理
17.1.3數據可視化分析
17.2基於TensorFlow的循環神經網絡實現生成電視劇劇本
17.2.1創建檢查表
17.2.2數據token化預處理
17.2.3創建Tensor佔位符和學習率
17.2.4初始化RNN Cell
17.2.5創建Embedding
17.2.6創建神經網絡
17.2.7創建超參數和優化器
17.2.8訓練神經網絡模型
17.2.9生成電視劇劇本
17.3基於Textgenrnn來實現生成電視劇劇本
17.3.1訓練模型
17.3.2生成劇本文本
17.4小結
第18章風格遷移
18.1基於TensorFlow實現神經風格遷移
18.1.1環境準備
18.1.2圖像預覽
18.1.3處理圖像
18.1. 4模型獲取
18.1.5損失函數計算
18.1.6訓練模型與圖像生成
18.2基於Keras實現神經風格遷移
18.2.1圖像預覽
18.2.2圖片處理
18.2.3獲取模型
18.2.4損失函數計算
18.2.5迭代與生成風格圖像
18.3小結
第19章生成人臉
19.1基於TensorFlow的GAN實現MNIST數字圖像生成
19.1.1環境準備
19.1.2 MNIST數字圖像數據準備
19.1.3隨機查看25張圖像
19.1.4構建模型輸入
19.1. 5構建辨別器
19.1.6構建生成器
19.1.7計算模型損失
19.1.8構建優化器
19.1.9構建訓練模型時的圖像輸出
19.1.10構建訓練模型函數
19.1.11訓練MNIST數據集的GAN模型
19.2基於TensorFlow的GAN實現LFW人臉圖像生成
19.2.1人臉圖像數據準備
19.2.2訓練LFW數據集的GAN模型
19.3小結
第20章圖像超分辨率
20.1效果預覽與數據準備
20.1.1效果預覽
20.1.2環境準備
20.1.3數據準備
20.2基於TensorFlow的DCGAN實現超分辨率
20.2.1下載srez代碼庫
20.2.2訓練模型將模糊圖像生成清晰圖像
20.2.3輸出效果預覽
20.2.4生成效果圖視頻
20.2.5圖片放大高清化
20.3 srez庫的代碼分析
20.3.1主入口函數代碼分析
20.3.2創建模型代碼分析
20.3.3訓練模型代碼分析
20.4小結
第21章移花接木
21.1基本信息
21.1.1三種模型效果預覽
21.1.2環境準備
21.1.3圖片數據集準備
21.1.4 CycleGAN網絡模型架構
21.2基於CycleGAN將蘋果生成橘子
21.2.1下載代碼庫
21.2.2圖片數據處理
21.2.3訓練模型
21.2.4導出模型
21.2. 5測試圖片
21.3基於CycleGAN將馬生成斑馬
21.3.1圖片數據處理
21.3.2訓練模型
21.3.3導出模型
21.3.4測試圖片
21.4男性和女性的人臉面貌互換
21.4.1環境準備
21.4.2計算和生成模型
21.4.3代碼分析
21.5小結
作者介紹
張強
現任特拉字節(北京)科技有限公司執行董事,曾任職奇虎360企業安全集團藍信團隊級研發工程師、
知乎移動端級研發工程師。具有豐富的人工智能深度學習領域知識,多年前端、iOS移動端、Python後端、
數據分析和.Net後端的研發經驗,對深度學習、神經網絡、App、網站、
服務器具有一定的研發工作經驗和深度見解,運營公眾號“小強AI”。