TensorFlow 2.X 項目實戰

李金洪

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

商品描述

內容簡介
本書基於TensorFlow 2.1 版本進行編寫。書中內容分為4 篇。

第1 篇包括TensorFlow 的安裝、使用方法。
這部分內容可以使讀者快速上手TensorFlow 工具。

第2 篇包括數據集製作、特徵工程等數據預處理工作,以及與數值分析相關的模型
(其中包括wide_deep 模型、梯度提升樹、知識圖譜、帶有JANET 單元的RNN 等模型)。

第3 篇從自然語言處理、計算機視覺兩個應用方向介紹了基礎的算法原理和主流的模型。
具體包括:TextCNN 模型、帶有註意力機制的模型、帶有動態路由的RNN 模型、
BERTology 系列模型、EfficientNet系列模型、Anchor-Free 模型、YOLO V3 模型等。

第4 篇介紹了生成式模型和零次學習兩種技術,其中系統地介紹了信息熵、歸一化、
f-GAN、**傳輸、Sinkhorn 算法,以及變分自編碼、DeblurGAN、AttGAN、DIM 、VSC 等模型。

本書結構清晰、案例豐富、通俗易懂、實用性強,適合對人工智能、TensorFlow 感興趣的讀者作為自學教程。

另外,本書也適合社會培訓學校作為培訓教材,還適合計算機相關專業作為教學參考書。

作者簡介

李金洪

精通c、c++、彙編、python、java、go等語言。
擅長神經網絡、算法、協議分析、逆向、移動互聯網安全架構等技術先後擔任過CAD算法工程師、
手機遊戲主程、架構師、項目經理、CTO、部門經理、資深產品總監等職位,也曾自主創業過。

目錄大綱

目錄
=======第1 篇準備
第1 章學習準備/2
1.1 什麼是TensorFlow 框架/2
1.2 如何學習本書/3
·
第2 章快速上手TensorFlow /5
2.1 配置TensorFlow 環境/5
2.2 訓練模型的兩種方式/13
2.2.1 “靜態圖”方式/13
2.2.2 “動態圖”方式/14
2.3 實例1:用靜態圖訓練模型,使其能夠從一組數據中找到y≈2x 規律15
2.4 實例2:用動態圖訓練一個具有保存檢查點功能的回歸模型24
·
第3 章TensorFlow 2.X 編程基礎/28
3.1 動態圖的編程方式/28
3.1.1 實例3:在動態圖中獲取參數/28
3.1.2 實例4:在靜態圖中使用動態圖/31
3.1.3 什麼是自動圖/32
3.2 掌握估算器框架接口的應用/33
3.3 實例7:將估算器模型轉化成靜態圖模型49
3.4 實例8:用估算器框架實現分佈式部署訓練54
3.5 掌握tf.keras 接口的應用/58
3.6 分配運算資源與使用分佈策略72
3.7 用tfdbg 調試TensorFlow 模型/75
3.8 用自動混合精度加速模型訓練75
·
=======第2 篇基礎
第4 章用TensorFlow 製作自己的數據集80
4.1 數據集的基本介紹/80
4.2 實例11:將模擬數據製作成內存對像數據集82
4.3 實例12:將圖片製作成內存對像數據集88
4.4 實例13:將Excel 文件製作成內存對像數據集/94
4.5 實例14:將圖片文件製作成TFRecord 數據集/98
4.6 實例15:將內存對象製作成Dataset 數據集104
4.7 實例16:將圖片文件製作成Dataset 數據集117
4.7.1 代碼實現:讀取樣本文件的目錄及標籤117
4.8 實例17:在動態圖中讀取Dataset 數據集123
4.9 實例18:在不同場景中使用數據集125
4.10 tf.data.Dataset 接口的更多應用129
·
第5 章數值分析與特徵工程/130
5.1 什麼是特徵工程/130
5.1.1 特徵工程的作用/130
5.1.2 特徵工程的方法/131
5.1.3 離散數據特徵與連續數據特徵/131
5.1.4 連續數據與離散數據的相互轉換/132
5.2 什麼是特徵列接口/132
5.2.1 實例19:用feature_column 模塊處理連續值特徵列132
5.2.2 實例20:將連續值特徵列轉換成離散值特徵列/136
5.2.3 實例21:將離散文本特徵列轉換為one-hot 編碼與詞向量/139
5.2.4 實例22:根據特徵列生成交叉列/147
5.2.5 了解序列特徵列接口/148
5.2.6 實例23:使用序列特徵列接口對文本數據預處理/149
5.3 實例24:用wide_deep 模型預測人口收入153
5.4 實例25:梯度提升樹(TFBT)接口的應用170
5.5 實例26:基於知識圖譜的電影推薦系統173
5.6 實例27:預測飛機發動機的剩餘使用壽命182
·
=======第3 篇進階
第6 章自然語言處理/200
6.1 BERT 模型與NLP 的發展階段200
6.2 實例28:用TextCNN 模型分析評論者是否滿意201
6.2.1 什麼是卷積神經網絡/201
6.2.2 模型任務與數據集介紹/202
6.2.3 熟悉模型:了解TextCNN 模型/202
6.2.4 數據預處理:用preprocessing 接口製作字典203
6.2.5 代碼實現:生成NLP 文本數據集206
6.2.6 代碼實現:定義TextCNN 模型/208
6.2.7 運行程序/210
6.3 實例29:用帶有註意力機制的模型分析評論者是否滿意210
6.4 實例30:用帶有動態路由的RNN 模型實現文本分類任務/224
6.5 NLP 中的常見任務及數據集236
6.6 了解Transformers 庫/239
6.7 實例31:用管道方式完成多種NLP 任務243
6.8 Transformers 庫中的自動模型類(TFAutoModel)/255
6.9 Transformers 庫中的BERTology 系列模型/259
6.10 Transformers 庫中的詞表工具269
6.11 BERTology 系列模型/281
6.12 用遷移學習訓練BERT 模型來對中文分類/300
.
第7 章機器視覺處理/307
7.1 實例34:使用預訓練模型識別圖像307
7.2 了解EfficientNet 系列模型/311
7.3 實例36:在估算器框架中用tf.keras 接口訓練ResNet 模型,識別圖片中是橘子還是蘋果/325
7.3.1 樣本準備/325
7.3.2 代碼實現:準備訓練與測試數據集326
7.3.3 代碼實現:製作模型輸入函數/326
7.3.4 代碼實現:搭建ResNet 模型/327
7.3.5 代碼實現:訓練分類器模型/328
7.3.6 運行程序:評估模型/329
7.3.7 擴展:全連接網絡的優化/330
7.3.8 在微調過程中如何選取預訓練模型330
7.4 基於圖片內容的處理任務/331
7.5 實例37:用YOLO V3 模型識別門牌號/341
.
=======第4 篇高級
第8 章生成式模型――能夠輸出內容的模型/364
8.1 快速了解信息熵(information entropy) 364
8.2 通用的無監督模型――自編碼與對抗神經網絡/372
8.3 實例38:用多種方法實現變分自編碼神經網絡373
8.4 常用的批量歸一化方法/386
8.5 實例39:構建DeblurGAN 模型,將模糊照片變清晰388
8.6 全面了解WGAN 模型/404
8.7 實例40:構建AttGAN 模型,對照片進行加鬍子、加頭簾、加眼鏡、變年輕等修改/411
8.8 散度在神經網絡中的應用/440
8.9 實例42:用最大化互信息(DIM)模型做一個圖片搜索器453
.
第9 章識別未知分類的方法――零次學習/464
9.1 了解零次學習/464
9.2 零次學習中的常見難點/469
9.3 帶有視覺結構約束的直推ZSL(VSC 模型) 472
9.4 詳解Sinkhorn 迭代算法/481
9.5 實例43:用VSC 模型識別圖片中的鳥屬於什麼類別490
9.5.1 模型任務與樣本介紹/490
9.5.2 用遷移學習的方式獲得訓練集分類模型492
9.5.3 用分類模型提取圖片的視覺特徵/492
9.5.4 代碼實現:訓練VSC 模型,將類屬性特徵轉換成類視覺特徵/493
9.5.5 代碼實現:基於W 距離的損失函數494
9.5.6 加載數據並進行訓練/495
9.5.7 代碼實現:根據特徵距離對圖片進行分類496
9.6 提升零次學習精度的方法/497
9.6.1 分析視覺特徵的質量/497
9.6.2 分析直推式學習的效果/499
9.6.3 分析直推模型的能力/499
9.6.4 分析未知類別的聚類效果/500
9.6.5 清洗測試數據集/502
9.6.6 利用可視化方法進行輔助分析/503
後記――讓技術更好地商業化落地/505