TensorFlow是目前流行的數(shù)值計(jì)算庫(kù),專(zhuān)用于構(gòu)建分布式、云計(jì)算和移動(dòng)環(huán)境。TensorFlow將數(shù)據(jù)表示為張量,將計(jì)算表示為計(jì)算圖。
《精通TensorFlow》是一本綜合指南,可讓您理解TensorFlow 1.x的高級(jí)功能,深入了解TensorFlow 內(nèi)核、Keras、 TF Estimator、TFLearn、TF Slim、PrettyTensor和Sonnet。利用TensorFlow和Keras提供的功能,使用遷移學(xué)習(xí)、生成對(duì)抗網(wǎng)絡(luò)和深度強(qiáng)化學(xué)習(xí)等概念來(lái)構(gòu)建深度學(xué)習(xí)模型。通過(guò)本書(shū),您將獲得在各種數(shù)據(jù)集(例如 MNIST、CIFAR-10、PTB、text8和COCO圖像)上的實(shí)踐經(jīng)驗(yàn)。
您還能夠?qū)W習(xí)TensorFlow1.x的高級(jí)功能,例如分布式TensorFlow,使用TensorFlow服務(wù)部署生產(chǎn)模型,以及在Android和iOS平臺(tái)上為移動(dòng)和嵌入式設(shè)備構(gòu)建和部署TensorFlow模型。您將看到如何在R統(tǒng)計(jì)軟件中調(diào)用 TensorFlow和Keras API,還能了解在TensorFlow的代碼無(wú)法按預(yù)期工作時(shí)所需的調(diào)試技術(shù)。
《精通TensorFlow》可幫助您深入了解TensorFlow,使您成為解決人工智能問(wèn)題的專(zhuān)家?傊趯W(xué)習(xí)本書(shū)之后,可掌握TensorFlow和Keras的產(chǎn)品,并獲得構(gòu)建更智能、更快速、更高效的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)系統(tǒng)所需的技能。
1.牛津大學(xué)物聯(lián)網(wǎng)課程創(chuàng)建者和首席數(shù)據(jù)科學(xué)家Ajit Jaokar為本書(shū)作序并傾情推薦。
2.通過(guò)閱讀本書(shū),能夠深入了解和掌握TensorFlow,并能構(gòu)建實(shí)用的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)系統(tǒng)。
3.本書(shū)涵蓋了TensorFlow 1.x的許多高級(jí)功能,并涉及很多先進(jìn)的技術(shù),如遷移學(xué)習(xí)、深度強(qiáng)化學(xué)習(xí)、生成對(duì)抗網(wǎng)絡(luò)等。
4.本書(shū)提供了大量示例,其代碼可以通過(guò)GitHub網(wǎng)址下載,具體地址見(jiàn)封面背面。
原書(shū)前言
Google公司的 TensorFlow已經(jīng)成為開(kāi)發(fā)人員在應(yīng)用程序中引入智能處理技術(shù)的主要開(kāi)發(fā)工具。與此同時(shí), TensorFlow已經(jīng)成為每個(gè)組織的主要研究工具和工程工具。因此,需要進(jìn)一步學(xué)習(xí) TensorFlow的高級(jí)用例,這些用例可以在各種軟件和設(shè)備上構(gòu)建智能系統(tǒng)。 TensorFlow憑借迅速的迭代更新以及代碼調(diào)試,可將智能理念帶入到項(xiàng)目中。因此,精通TensorFlow是創(chuàng)造先進(jìn)的機(jī)器學(xué)習(xí)、深度學(xué)習(xí)應(yīng)用的必由之路!毒═ensorFlow》一書(shū)將幫您學(xué)習(xí) TensorFlow的所有高級(jí)功能。為了使讀者學(xué)習(xí)進(jìn)入人工智能世界所需的專(zhuān)業(yè)知識(shí),本書(shū)匯集了關(guān)鍵信息,因此本書(shū)可拓展中級(jí) TensorFlow用戶(hù)的知識(shí)面,使其達(dá)到更高水平。本書(shū)涵蓋了從實(shí)現(xiàn)先進(jìn)計(jì)算到接近現(xiàn)實(shí)世界的研究領(lǐng)域。有了這個(gè)非常全面的指南,可以讓讀者在開(kāi)發(fā)者社區(qū)中充分施展才能,也為讀者提供了一個(gè)為研究工作或項(xiàng)目做出貢獻(xiàn)的平臺(tái)。
本書(shū)讀者對(duì)象
《精通TensorFlow》適用于任何想要用 TensorFlow解決深度學(xué)習(xí)問(wèn)題的人員,也適用于那些正在尋找易于理解的技術(shù)指南,想深入學(xué)習(xí)復(fù)雜使用案例的技術(shù)人員。要想充分利用本書(shū),需要對(duì) TensorFlow和 Python有基本的了解。
本書(shū)涵蓋的內(nèi)容
第1章,TensorFlow 101。本章介紹了 TensorFlow的基礎(chǔ)知識(shí),例如如何創(chuàng)建張量、常量、變量、占位符和相關(guān)操作;了解計(jì)算圖以及如何將計(jì)算圖節(jié)點(diǎn)放置在各種設(shè)備(如 GPU)上。通過(guò)本章,還可以學(xué)習(xí)如何使用 TensorBoard來(lái)可視化各種中間結(jié)果和最終的輸出值。
第2章,TensorFlow的高級(jí)庫(kù)。本章介紹了幾個(gè)高級(jí)庫(kù),包括 TF Contrib Learn、TF Slim、TFLearn、Sonnet和 Pretty Tensor等。
第3章,Keras 101。本章詳細(xì)介紹了高級(jí)庫(kù) Keras,這是 TensorFlow核心之一。
第4章,基于 TensorFlow的經(jīng)典機(jī)器學(xué)習(xí)算法。本章介紹如何使用 TensorFlow來(lái)實(shí)現(xiàn)經(jīng)典的機(jī)器學(xué)習(xí)算法,如線性回歸和邏輯回歸分類(lèi)。
第5章,基于 TensorFlow和 Keras的神經(jīng)網(wǎng)絡(luò)和多層感知機(jī)。本章介紹了神經(jīng)網(wǎng)絡(luò)的概念,并介紹如何構(gòu)建簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)模型,還介紹了如何構(gòu)建多層感知機(jī)(MLP)。
第6章,基于 TensorFlow和 Keras的 RNN。本章介紹如何用 TensorFlow和 Keras構(gòu)建 RNN。這里將介紹 RNN、長(zhǎng)短期記憶( LSTM)網(wǎng)絡(luò)和門(mén)控循環(huán)單元( GRU)網(wǎng)絡(luò)的內(nèi)部結(jié)構(gòu)。本章還會(huì)簡(jiǎn)要介紹在 TensorFlow和 Keras中用于實(shí)現(xiàn) RNN模型的 API函數(shù)和類(lèi)。
第7章,基于 TensorFlow和 Keras的 RNN在時(shí)間序列數(shù)據(jù)中的應(yīng)用。本章介紹了如何構(gòu)建和訓(xùn)練基于時(shí)間序列數(shù)據(jù)的 RNN模型,并提供相應(yīng)的示例。
第8章,基于 TensorFlow和 Keras 的 RNN在文本數(shù)據(jù)中的應(yīng)用。本章介紹如何構(gòu)建和訓(xùn)練基于文本數(shù)據(jù)的 RNN模型,并給出相應(yīng)的示例。這一章會(huì)學(xué)習(xí)使用 TensorFlow和 Keras來(lái)構(gòu)建詞向量,然后通過(guò)基于詞向量嵌入的 LSTM模型從示例文本數(shù)據(jù)中生成文本。
第9章,基于 TensorFlow和 Keras的 CNN。本章介紹用于處理圖像數(shù)據(jù)的 CNN模型,并給出基于 TensorFlow和 Keras庫(kù)的示例,該示例實(shí)現(xiàn)了 LeNet架構(gòu)模式。
第10章,基于 TensorFlow和 Keras的自編碼器。本章介紹了用于處理圖像數(shù)據(jù)的自編碼模型,并給出基于 TensorFlow和 Keras庫(kù)的示例,同時(shí)也給出了簡(jiǎn)單自編碼器、去噪自編碼器和變分自編碼器的實(shí)現(xiàn)。
第11章,使用 TF服務(wù)提供生成環(huán)境下的 TensorFlow模型。本章會(huì)介紹如何用 TensorFlow服務(wù)來(lái)部署模型,學(xué)習(xí)如何在 Docker容器和 Kubernetes集群中使用 TF服務(wù)進(jìn)行部署。
第12章,遷移學(xué)習(xí)模型和預(yù)訓(xùn)練模型。本章會(huì)介紹如何用預(yù)訓(xùn)練模型來(lái)進(jìn)行預(yù)測(cè),學(xué)習(xí)如何在不同的數(shù)據(jù)集上重新訓(xùn)練模型。本章提供基于 VGG16和 Inception V3模型的示例,這些模型預(yù)先在 ImageNet數(shù)據(jù)集上訓(xùn)練好,并用來(lái)預(yù)測(cè) COCO數(shù)據(jù)集中的圖像;也會(huì)介紹一個(gè)示例,它通過(guò)使用 COCO數(shù)據(jù)集重新訓(xùn)練模型的最后一層來(lái)改進(jìn)預(yù)測(cè)效果。
第13章,深度強(qiáng)化學(xué)習(xí)。本章會(huì)介紹強(qiáng)化學(xué)習(xí)和 OpenAIgym框架。也會(huì)介紹如何使用各種強(qiáng)化學(xué)習(xí)策略(包括深度 Q網(wǎng)絡(luò))來(lái)構(gòu)建和訓(xùn)練多個(gè)模型。
第14章,生成對(duì)抗網(wǎng)絡(luò)( GAN)。本章介紹如何通過(guò) TensorFlow和 Keras來(lái)構(gòu)建和訓(xùn)練生成對(duì)抗模型。
第15章,基于 TensorFlow集群的分布式模型。本章將介紹如何基于 TensorFlow集群來(lái)訓(xùn)練 TensorFlow模型,這是一種分布式訓(xùn)練方法。本章還會(huì)通過(guò)示例介紹以數(shù)據(jù)并行方式訓(xùn)練模型時(shí)的異步和同步更新方法。
第16章,移動(dòng)和嵌入式平臺(tái)上的 TensorFlow模型。本章會(huì)介紹如何在基于 iOS和 Android平臺(tái)的移動(dòng)設(shè)備上部署 TensorFlow模型。本章涵蓋了基于 TensorFlow庫(kù)的 TF Mobile和 TF Lite API。
第17章,R中的 TensorFlow和 Keras。本章介紹了如何在 R統(tǒng)計(jì)軟件中構(gòu)建和訓(xùn)練 TensorFlow模型,還介紹 R Studio用于實(shí)現(xiàn) TF Core,TF Estimators和 Keras API的三個(gè)軟件包。
第18章,調(diào)試 TensorFlow模型。本章會(huì)介紹當(dāng)模型無(wú)法按預(yù)期工作時(shí),如何發(fā)現(xiàn)熱點(diǎn)問(wèn)題的策略和技巧。本章涵蓋了 TensorFlow調(diào)試器和其他調(diào)試方法。
附錄,張量處理單元。本章簡(jiǎn)要介紹了張量處理單元( TPU)。TPU是用來(lái)訓(xùn)練和
Armando Fandango利用自己在深度學(xué)習(xí)、計(jì)算方法和分布式計(jì)算方面的專(zhuān)業(yè)知識(shí),創(chuàng)造了人工智能(AI)產(chǎn)品。他為Owen.ai公司在AI產(chǎn)品戰(zhàn)略方面提供建議。他創(chuàng)建了NeuraSights公司,其目標(biāo)是利用神經(jīng)網(wǎng)絡(luò)創(chuàng)建有技術(shù)深度的產(chǎn)品。他還創(chuàng)建了Vets2Data公司,這家非盈利機(jī)構(gòu)主要幫助美國(guó)退役軍人掌握AI技能。
Armando出版了2本專(zhuān)著,并在國(guó)際期刊和會(huì)議上發(fā)表了他的研究成果。
譯者序
原書(shū)序
原書(shū)前言
第 1章 TensorFlow 101 // 1
1.1 什么是 TensorFlow // 1
1.2 TensorFlow內(nèi)核 // 2
1.2.1 簡(jiǎn)單的示例代碼 -Hello TensorFlow // 2
1.2.2 張量 // 3
1.2.3 常量 // 4
1.2.4 操作 // 5
1.2.5 占位符 // 6
1.2.6 從 Python對(duì)象創(chuàng)建張量 // 7
1.2.7 變量 // 9
1.2.8 由庫(kù)函數(shù)生成的張量 // 10
1.2.9 通過(guò) tf.get_variable( )獲取變量 // 13
1.3 數(shù)據(jù)流圖或計(jì)算圖 // 14
1.3.1 執(zhí)行順序和延遲加載 // 15
1.3.2 跨計(jì)算設(shè)備執(zhí)行計(jì)算圖 -CPU和 GPU // 15
1.3.3 多個(gè)計(jì)算圖 // 18
1.4 TensorBoard // 19
1.4.1 TensorBoard最小的例子 // 19
1.4.2 TensorBoard的細(xì)節(jié) // 21
1.5 總結(jié) // 21
第 2章 TensorFlow的高級(jí)庫(kù) // 22
2.1 TF Estimator // 22
2.2 TF Slim // 24
2.3 TFLearn // 25
2.3.1 創(chuàng)建 TFLearn層 // 26
2.3.2 創(chuàng)建 TFLearn模型 // 30
2.3.3 訓(xùn)練 TFLearn模型 // 30
2.3.4 使用 TFLearn模型 // 30
2.4 PrettyTensor // 31
2.5 Sonnet // 32
2.6 總結(jié) // 34
第 3章 Keras101 // 35
3.1 安裝 Keras // 35
3.2 Keras的神經(jīng)網(wǎng)絡(luò)模型 // 36
3.2.1 在 Keras中創(chuàng)建模型的過(guò)程 // 36
3.3 創(chuàng)建 Keras模型 // 36
3.3.1 用于創(chuàng)建 Keras模型的序列化 API // 36
3.3.2 用于創(chuàng)建 Keras模型的功能性 API // 37
3.4 Keras的層 // 37
3.4.1 Keras內(nèi)核層 // 37
3.4.2 Keras卷積層 // 38
3.4.3 Keras池化層 // 38
3.4.4 Keras局連接層 // 39
3.4.5 Keras循環(huán)層 // 39
3.4.6 Keras嵌入層 // 39
3.4.7 Keras合并層 // 39
3.4.8 Keras高級(jí)激活層 // 40
3.4.9 Keras歸一化層 // 40
3.4.10 Keras噪聲層 // 40
3.5 將網(wǎng)絡(luò)層添加到 Keras模型中 // 40
3.5.1 利用序列化 API將網(wǎng)絡(luò)層添加到 Keras模型中 // 40
3.5.2 利用功能性 API將網(wǎng)絡(luò)層添加到 Keras模型中 // 41
3.6 編譯 Keras模型 // 41
3.7 訓(xùn)練 Keras模型 // 42
3.8 使用 Keras模型進(jìn)行預(yù)測(cè) // 42
3.9 Keras中的其他模塊 // 43
3.10 基于 MNIST數(shù)據(jù)集的 Keras順序模型示例 // 43
3.11 總結(jié) // 45
第 4章 基于TensorFlow的經(jīng)典機(jī)器學(xué)習(xí)算法 // 47
4.1 簡(jiǎn)單的線性回歸 // 48
4.1.1 數(shù)據(jù)準(zhǔn)備 // 49
4.1.2 建立簡(jiǎn)單的回歸模型 // 50
4.1.3 使用訓(xùn)練好的模型進(jìn)行預(yù)測(cè) // 55
4.2 多元回歸 // 55
4.3 正則化回歸 // 58
4.3.1 Lasso正則化 // 59
4.3.2 嶺正則化 // 62
4.3.3 彈性網(wǎng)正則化 // 64
4.4 使用 Logistic回歸進(jìn)行分類(lèi) // 65
4.4.1 二分類(lèi)的 Logistic回歸 // 65
4.4.2 多類(lèi)分類(lèi)的 Logistic回歸 // 66
4.5 二分類(lèi) // 66
4.6 多分類(lèi) // 69
4.7 總結(jié) // 73
第 5章 基于 TensorFlow和 Keras的神經(jīng)網(wǎng)絡(luò)和多層感知機(jī) // 74
5.1 感知機(jī) // 74
5.2 多層感知機(jī) // 76
5.3 用于圖像分類(lèi)的多層感知機(jī) // 77
5.3.1 通過(guò) TensorFlow構(gòu)建用于 MNIST分類(lèi)的多層感知機(jī) // 77
5.3.2 通過(guò) Keras構(gòu)建用于 MNIST分類(lèi)的多層感知機(jī) // 83
5.3.3 通過(guò) TFLearn構(gòu)建用于 MNIST分類(lèi)的多層感知機(jī) // 85
5.3.4 多層感知機(jī)與 TensorFlow、 Keras和 TFLearn的總結(jié) // 86
5.4 用于時(shí)間序列回歸的多層感知機(jī) // 86
5.5 總結(jié) // 89
第 6章 基于TensorFlow和Keras的 RNN // 90
6.1 簡(jiǎn)單 RNN // 90
6.2 RNN改進(jìn)版本 // 92
6.3 LSTM網(wǎng)絡(luò) // 93
6.4 GRU網(wǎng)絡(luò) // 95
6.5 基于TensorFlow的 RNN // 96
6.5.1 TensorFlow的RNN單元類(lèi) // 96
6.5.2 TensorFlow 的RNN模型構(gòu)造類(lèi) // 97
6.5.3 TensorFlow的 RNN單元封裝類(lèi) // 97
6.6 基于Keras的 RNN // 98
6.7 RNN的應(yīng)用領(lǐng)域 // 98
6.8 將基于Keras的 RNN用于MNIST數(shù)據(jù) // 99
6.9 總結(jié) // 100
第 7章 基于TensorFlow和 Keras的 RNN在時(shí)間序列數(shù)據(jù)中的應(yīng)用 //101
7.1 航空公司乘客數(shù)據(jù)集 // 101
7.1.1 加載 airpass數(shù)據(jù)集 // 102
7.1.2 可視化 airpass數(shù)據(jù)集 // 102
7.2 使用TensorFlow為 RNN模型預(yù)處理數(shù)據(jù)集 // 103
7.3 TensorFlow中的簡(jiǎn)單 RNN // 104
7.4 TensorFlow中的 LSTM網(wǎng)絡(luò) // 106
7.5 TensorFlow中的 GRU網(wǎng)絡(luò) // 107
7.6 使用 Keras為 RNN模型預(yù)處理數(shù)據(jù)集 // 108
7.7 基于 Keras的簡(jiǎn)單 RNN // 109
7.8 基于 Keras的 LSTM網(wǎng)絡(luò) // 111
7.9 基于 Keras的 GRU網(wǎng)絡(luò) // 112
7.10 總結(jié) // 113
第 8章 基于TensorFlow和 Keras的RNN在文本數(shù)據(jù)中的應(yīng)用 // 114
8.1 詞向量表示 // 114
8.2 為 word2vec模型準(zhǔn)備數(shù)據(jù) // 116
8.2.1 加載和準(zhǔn)備PTB數(shù)據(jù)集 // 117
8.2.2 加載和準(zhǔn)備text8數(shù)據(jù)集 // 118
8.2.3 準(zhǔn)備小的驗(yàn)證集 // 119
8.3 使用TensorFlow的 skip-gram模型 // 119
8.4 使用t-SNE可視化單詞嵌入 // 124
8.5 基于Keras的 skip-gram模型 // 126
8.6 使用TensorFlow和 Keras中的 RNN模型生成文本 // 130
8.6.1 使用TensorFlow中的 LSTM模型生成文本 // 131
8