• 今日66折
  • 天天BUY
滿699現折50
走向TensorFlow 2.0:深度學習應用編程快速入門

走向TensorFlow 2.0:深度學習應用編程快速入門

  • 定價:330
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
 

內容簡介

TensorFlow大名鼎鼎,現在已經更新了10多個版本,隨著版本的更新其介面和功能也越來越強大。尤其是TensorFlow的高階API介面,集成了很多演算法和網路模型,可以達到所用即所得的地步。但是由於各種原因,我們往往很少去瞭解如何使用這些高級API來進行程式設計,解決自己的問題。因此本書旨在能夠以程式設計實踐為入手,按照實用為先的理念讓更多的AI愛好者或者想要入門的人工智慧的開發者能夠快速上手程式設計。
 
本書分為兩大部分,第一部分是深度學習程式設計基礎實踐,包含三個章節:Python基礎程式設計實踐、TensorFlow基礎程式設計實踐、Python Web程式設計框架Flask。第二部分是TensorFlow高級API程式設計實踐,包括五個章節:無監督學習、基於對抗學習的風格遷移、集成微信中的聊天機器人、基於BERT的知識提取、圖片自動識別與標注。本書中既有既有理論知識又案例的程式設計實現代碼,會對代碼進行詳細的講解以使讀者能夠跟著書本內容實踐編碼。
 

作者介紹

趙英俊
 
阿里雲人工智慧領域MVP,目前在阿里雲從事產業、工業智慧方向的解決方案架構師工作,基於資料智慧、人工智慧等技術和產品解決傳統產業、工業的痛點和難點問題。現個人維護一個優秀的開源NLP項目——基於Seq2Seq的中文智慧聊天機器人,目前GitHub stars超過1100。
 

目錄

第1章 Python基礎程式設計入門 1
1.1 Python的歷史 1
1.1.1 Python版本的演進 1
1.1.2 Python的工程應用情況 2
1.2 Python的基底資料型別 2
1.3 Python資料處理工具之Pandas 6
1.3.1 資料讀取和存儲 7
1.3.2 資料查看和選取 8
1.3.3 資料處理 11
1.4 Python影像處理工具之PIL 14
1.4.1 PIL簡介 14
1.4.2 PIL介面詳解 14
1.4.3 PIL影像處理實踐 18

第2章 TensorFlow 2.0快速入門 21
2.1 TensorFlow 2.0簡介 21
2.2 TensorFlow 2.0環境搭建 22
2.2.1 CPU環境搭建 22
2.2.2 基於Docker的GPU環境搭建 23
2.3 TensorFlow 2.0基礎知識 25
2.3.1 TensorFlow 2.0 Eager模式簡介 25
2.3.2 TensorFlow 2.0 AutoGraph簡介 26
2.3.3 TensorFlow 2.0低階API基礎程式設計 26
2.4 TensorFlow 2.0高階API(tf.keras) 32
2.4.1 tf.keras高階API概覽 32
2.4.2 tf.keras高階API程式設計 34

第3章 基於CNN的圖像識別應用程式設計實踐 36
3.1 CNN相關基礎理論 36
3.1.1 卷積神經網路概述 36
3.1.2 卷積神經網路結構 36
3.1.3 卷積神經網路三大核心概念 38
3.2 TensorFlow 2.0 API詳解 38
3.2.1 tf.keras.Sequential 39
3.2.2 tf.keras.layers.Conv2D 41
3.2.3 tf.keras.layers.MaxPool2D 42
3.2.4 tf.keras.layers.Flatten與tf.keras.layer.Dense 42
3.2.5 tf.keras.layers.Dropout 43
3.2.6 tf.keras.optimizers.Adam 43
3.3 專案工程結構設計 44
3.4 項目實現代碼詳解 44
3.4.1 工具類實現 45
3.4.2 cnnModel實現 46
3.4.3 執行器實現 48
3.4.4 Web應用實現 52

第4章 基於Seq2Seq的中文聊天機器人程式設計實踐 55
4.1 NLP基礎理論知識 55
4.1.1 語言模型 55
4.1.2 迴圈神經網路 57
4.1.3 Seq2Seq模型 59
4.2 TensorFlow 2.0 API詳解 61
4.2.1 tf.keras.preprocessing.text.Tokenizer 61
4.2.2 tf.keras.preprocessing.sequence.pad_sequences 62
4.2.3 tf.data.Dataset.from_tensor_slices 63
4.2.4 tf.keras.layers.Embedding 63
4.2.5 tf.keras.layers.GRU 63
4.2.6 tf.keras.layers.Dense 65
4.2.7 tf.expand_dims 65
4.2.8 tf.keras.optimizers.Adam 65
4.2.9 tf.keras.losses.SparseCategoricalCrossentropy 66
4.2.10 tf.math.logical_not 66
4.2.11 tf.concat 66
4.2.12 tf.bitcast 67
4.3 專案工程結構設計 67
4.4 項目實現代碼詳解 68
4.4.1 工具類實現 68
4.4.2 data_util實現 69
4.4.3 seq2seqModel實現 71
4.4.4 執行器實現 77
4.4.5 Web應用實現 83

第5章 基於CycleGAN的圖像風格遷移應用程式設計實踐 85
5.1 GAN基礎理論 85
5.1.1 GAN的基本思想 85
5.1.2 GAN的基本工作機制 86
5.1.3 GAN的常見變種及應用場景 86
5.2 CycleGAN的演算法原理 88
5.3 TensorFlow 2.0 API詳解 88
5.3.1 tf.keras.Sequential 88
5.3.2 tf.keras.Input 91
5.3.3 tf.keras.layers.BatchNormalization 91
5.3.4 tf.keras.layers.Dropout 92
5.3.5 tf.keras.layers.Concatenate 93
5.3.6 tf.keras.layers.LeakyReLU 93
5.3.7 tf.keras.layers.UpSampling2D 93
5.3.8 tf.keras.layers.Conv2D 93
5.3.9 tf.optimizers.Adam 94
5.4 專案工程結構設計 95
5.5 項目實現代碼詳解 96
5.5.1 工具類實現 96
5.5.2 CycleganModel實現 100
5.5.3 執行器實現 105
5.5.4 Web應用實現 109

第6章 基於Transformer的文本情感分析程式設計實踐 111
6.1 Transformer相關理論知識 111
6.1.1 Transformer基本結構 111
6.1.2 注意力機制 112
6.1.3 位置編碼 116
6.2 TensorFlow 2.0 API詳解 117
6.2.1 tf.keras.preprocessing.text.Tokenizer 117
6.2.2 tf.keras.preprocessing.sequence.pad_sequences 118
6.2.3 tf.data.Dataset.from_tensor_slices 118
6.2.4 tf.keras.layers.Embedding 118
6.2.5 tf.keras.layers.Dense 119
6.2.6 tf.keras.optimizers.Adam 119
6.2.7 tf.optimizers.schedules.LearningRateSchedule 120
6.2.8 tf.keras.layers.Conv1D 120
6.2.9 tf.nn.moments 121
6.3 專案工程結構設計 121
6.4 項目實現代碼詳解 122
6.4.1 工具類實現 122
6.4.2 data_util實現 124
6.4.3 textClassiferMode實現 128
6.4.4 執行器實現 138
6.4.5 Web應用實現 142

第7章 基於TensorFlow Serving的模型部署實踐 144
7.1 TensorFlow Serving框架簡介 144
7.1.1 Servable 145
7.1.2 Source 145
7.1.3 Loader 145
7.1.4 Manager 145
7.2 TensorFlow Serving環境搭建 146
7.2.1 基於Docker搭建TensorFlow Serving環境 146
7.2.2 基於Ubuntu 16.04搭建TensorFlow Serving環境 146
7.3 API詳解 147
7.3.1 tf.keras.models.load_model 147
7.3.2 tf.keras.experimental.export_saved_model 147
7.3.3 tf.keras.backend.set_learning_phase 148
7.4 專案工程結構設計 148
7.5 項目實現代碼詳解 149
7.5.1 工具類實現 149
7.5.2 模型檔匯出模組實現 150
7.5.3 模型檔部署模組實現 150
7.5.4 Web應用模組實現 152
 

推薦序

AlphaGo以“Master”(大師)作為ID,橫空出世,在中國烏鎮圍棋峰會上,它與世界圍棋冠軍柯潔對戰,在圍棋領域,擊敗人類精英。

繼而,AlphaGo Zero,從空白狀態起步,在無任何人類輸入的條件下,能夠迅速自學圍棋,並以100∶0的戰績擊敗人類“前輩”。
機器學習,在嘗試以人類經驗圖譜進行學習時,短短數年,就在圍棋領域,擊敗了擁有幾千年沉澱的人類頂尖高手。

如果說這是機器的力量,那麼AlphaGo Zero在嘗試不以人類的經驗圖譜進行自我深度學習時,產生了另一個質的飛躍,這,就是機器學習的力量。

機器學習作為人工智慧的一種類型,可以讓軟體根據大量的資料來對未來的情況進行闡述或預判。這項技術,可以通過人類經驗學習和自我深度學習,幫助人類在各個領域取得突破性進展。如今,領先的科技巨頭無不在機器學習方面予以極大投入。Google、蘋果、微軟、阿裡巴巴、百度,無不深度參與,期望成為機器學習技術的鋪路者、領路者、踐行者。

未來是什麼樣子的,沒人說得清,但是未來在一步步來臨的路上,必然有機器學習技術的鋪墊。

2011年,“穀歌大腦”開始開展面向科學研究和工程應用的大規模深度學習。TensorFlow是Google第二代機器學習系統。如今,Google將此系統開源,並將此系統的參數公佈給業界工程師、學者和大量擁有程式設計能力的技術人員,正是為了讓全世界的人都能夠從機器學習與人工智慧中獲益。

TensorFlow社區,是機器學習領域內最活躍和友善的社區之一。社區的好處,在於學習的路上,有很多人同行,你的任何問題和疑惑,在社區中都能得到相當不錯的答案。如果你想瞭解和學習機器學習,那麼TensorFlow是一個相當不錯的選擇。如果你想學習TensorFlow,那麼這本書會讓你以最低難度領略機器學習的奧秘。

我可以代表這樣一類人,作為多年的技術工作者,在工作中和機器學習也有一些接觸,對機器學習有比較濃厚的興趣。拿到這本書,相見恨晚,翻閱著,用電腦作為武器,按照書中所示,比畫著,一招一式中,不覺間就進入了機器學習的奇妙世界。這也使我通過學習機器如何進行自我深度學習,讓自己從另一個角度進行思考,得到收穫。

英俊的這本書,書如其名,內容英朗俊秀,深入淺出,淺顯易懂,思在天地,行在山野。

推薦讀者群體:期望入門機器學習的學生、技術工作者及其身邊的人。如果你恰好是其中一類人,又讀到了這裡,這本書請不要錯過,因為你閱讀的書中專案可能會比Android系統更加深遠地影響著世界!

阿裡巴巴菜鳥網路技術專家 薛巍
中國,杭州 2019年9月

前言

坦白地說,在我的技術生涯規劃中還未想過要在30歲生日之前出一本技術書。在30歲這一年裡,我感覺有280天以上是每天工作超過12小時的,每天我積極處理工作上的事情以求在事業上取得成就、學習自己欠缺的技術以求提升能力、輸出自己學到的知識以期幫助更多的人;在30歲這一年裡,我第一次體會到頸椎病帶來的痛苦,也將一直引以為傲的視力熬成了近視。之所以如此逼自己,大概是因為自己的不自信和癡癡的責任心在作祟。

創作初衷

最開始籌畫這本書的時候,也只是想將自己在小象學院的課程內容整理成書(課程內容是關於TensorFlow 1.x的),但是當看到TensorFlow 2.0發佈計畫公佈之後,我又覺得寫一本關於TensorFlow 1.x的書是沒有意義的,並且會浪費讀者的時間和精力。因此,我徹底推翻書稿原來規劃的內容,重新調整所有的知識點,所有的實踐案例都用TensorFlow 2.0進行重新程式設計,從而導致交稿日期一拖再拖。說到這裡,我要特別感謝電子工業出版社的張春雨老師,他一直在推動、鼓勵甚至督促我,使我跌跌撞撞、寫寫停停完成了初稿、提升稿、提交稿。在本書寫作過程中,江郎才盡和被掏空的感覺對我來說是最大的煎熬。我一直是一個喜歡分享知識和觀點的人,但是這種成體系的、持續的、面向大眾的分享和輸出讓我對自己的要求不斷提高,總是擔心如果寫錯了會誤人子弟。這不是一個輕鬆的過程,尤其是在創業的初期,我首先要做的是全力以赴、出色地完成產品和技術工作,然後用本來就不多的休息時間來完成技術的提升和本書的編寫。從一個追求技術深度的技術人員的視角來看,本書不能令我百分百滿意,但是萬事總要邁出第一步,希望這本書能夠為讀者帶來一定的參考和學習價值。

內容結構

本書在內容規劃上分3個部分,共7章,具體如下。

第1部分:程式設計基礎入門,包括Python基礎程式設計入門和TensorFlow 2.0快速入門知識。

 第1章 Python基礎程式設計入門:本章闡述了Python的歷史、基底資料型別、資料處理工具Pandas、影像處理工具PIL等,基本覆蓋了在後續章節中要用到的Python程式設計知識和工具。

 第2章 TensorFlow 2.0快速入門:本章從快速上手的角度,通過TensorFlow 2.0的簡介、環境搭建、基礎知識、高級API程式設計等內容詳細講解了TensorFlow 2.0程式設計所需的知識和技巧。

第2部分:TensorFlow 2.0程式設計實踐,講解了4個程式設計案例,分別為基於CNN的圖像識別應用、基於Seq2Seq的中文聊天機器人、基於CycleGAN的圖片風格遷移應用、基於Transformer的文本情感分析。

 第3章 基於CNN的圖像識別應用程式設計實踐:本章介紹了基於CNN實現對CFAIR-10圖像資料的訓練以及線上圖像分類預測,包括CNN基礎理論知識、程式設計中用到的TensorFlow 2.0 API詳解、專案工程結構設計、專案實現代碼詳解等。

 第4章 基於Seq2Seq的中文聊天機器人程式設計實踐:本章介紹了基於Seq2Seq實現對“小黃雞”對話資料集的訓練以及線上中文聊天,包括自然語言模型、RNN(迴圈神經網路)、Seq2Seq模型、程式設計中用到的TensorFlow 2.0 API詳解、專案工程結構設計、專案實現代碼詳解等。

 第5章 基於CycleGAN的圖片風格遷移應用程式設計實踐:本章介紹了基於CycleGAN實現對Apple2Orange資料集的訓練以及圖像線上風格遷移,包括GAN基礎理論知識、CycleGAN演算法原理、程式設計中用到的TensorFlow 2.0 API詳解、專案工程結構設計、專案實現代碼詳解等。

 第6章 基於Transformer的文本情感分析程式設計實踐:本章介紹了基於Transformer的變形結構實現對IMDB評價資料集的訓練以及線上對文本的情感分析和預測,包括Transformer基本結構、注意力機制、位置編碼、程式設計中用到的TensorFlow 2.0 API詳解、專案工程結構設計、專案實現代碼詳解等。

第3部分:TensorFlow 2.0模型服務化部署,採用TensorFlow Serving實現對完成訓練的模型進行生產環境的服務化部署。

 第7章 基於TensorFlow Serving的模型部署實踐:本章介紹了基於TensorFlow Serving框架實現對基於CNN的圖像分類模型的服務化部署,包括TensorFlow Serving框架簡介、TensorFlow Serving環境搭建、程式設計中用到的TensorFlow 2.0 API詳解、專案工程結構設計、專案實現代碼詳解等。

致謝

最後,衷心感謝我的妻子包佳楠,感謝她一直以來的鼓勵,以及一絲不苟地校正書稿中的語法錯誤和錯別字,每次當我想要放棄的時候,她總是用幾句不輕不重的話語讓我重新回到本書的編寫中來。
 
 

詳細資料

  • ISBN:9787121376467
  • 規格:平裝 / 156頁 / 16k / 19 x 26 x 1 cm / 普通級 / 單色印刷 / 1-1
  • 出版地:大陸

最近瀏覽商品

 

相關活動

  • 這題,你會嗎?數理|演化|宇宙|腦科學,科普精選5折起
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 春日獻禮3本75折
  • 大學出版品3本75折
  • 古籍社書展精選2本77折

訂閱電子報

想獲得最新商品資訊,請訂閱免費電子報