TensorFlow深度學(xué)習(xí)實(shí)例教程
定 價(jià):65 元
叢書名:高等職業(yè)教育系列教材
- 作者:主編平震宇, 匡亮
- 出版時(shí)間:2023/1/1
- ISBN:9787111703655
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP18
- 頁(yè)碼:233
- 紙張:
- 版次:1
- 開本:26cm
本書主要包括8個(gè)項(xiàng)目, 分別為搭建TensorFlow開發(fā)環(huán)境, 手寫數(shù)字識(shí)別: TensorFlow初探, 波士頓房?jī)r(jià)預(yù)測(cè): 前饋神經(jīng)網(wǎng)絡(luò), 服裝圖像識(shí)別: Keras搭建與訓(xùn)練模型, 圖像識(shí)別: 卷積神經(jīng)網(wǎng)絡(luò), AI詩(shī)人: 循環(huán)神經(jīng)網(wǎng)絡(luò), 預(yù)測(cè)汽車油耗效率: TensorFlow.js應(yīng)用開發(fā)和慶娣花卉識(shí)別: TensorFlow Lite。
1.編寫主體體現(xiàn)校企雙元組合
2.教材內(nèi)容項(xiàng)目化
3.將“1+X”內(nèi)容充分融入教材,職業(yè)技能標(biāo)準(zhǔn)規(guī)范化
人工智能是新一輪科技革命和產(chǎn)業(yè)變革的核心驅(qū)動(dòng)力,給我國(guó)經(jīng)濟(jì)社會(huì)帶來(lái)了極其深遠(yuǎn)的影響,既為促進(jìn)經(jīng)濟(jì)建設(shè)注入了新動(dòng)能,又為服務(wù)社會(huì)發(fā)展帶來(lái)了新機(jī)遇。2019年,全國(guó)有171所高職院校開設(shè)了人工智能技術(shù)服務(wù)專業(yè),為我國(guó)人工智能技術(shù)的發(fā)展提供科技和人才支撐,推動(dòng)我國(guó)人工智能技術(shù)邁向新的高度。
深度學(xué)習(xí)帶來(lái)了機(jī)器學(xué)習(xí)技術(shù)的革命,參與了人類重大的工程挑戰(zhàn),比如自動(dòng)駕駛、醫(yī)療診斷和預(yù)測(cè)、跨語(yǔ)言的自由交流、更通用的人工智能系統(tǒng)等領(lǐng)域。本書主要介紹基于深度學(xué)習(xí)的基本概念以及TensorFlow深度學(xué)習(xí)框架應(yīng)用開發(fā)技術(shù),不僅介紹了深度學(xué)習(xí)的基礎(chǔ)理論和主流的模型及算法(包括神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)等),而且重點(diǎn)講解了如何基于TensorFlow框架針對(duì)不同的應(yīng)用場(chǎng)景進(jìn)行深度學(xué)習(xí)模型的選擇、構(gòu)建和應(yīng)用。TensorFlow是Google于 2011 年發(fā)布的用于機(jī)器學(xué)習(xí)和深度學(xué)習(xí)功能的開源框架,在學(xué)術(shù)、科研和工業(yè)領(lǐng)域得到了廣泛應(yīng)用。
本書省略了煩瑣的深度學(xué)習(xí)數(shù)學(xué)模型的推導(dǎo),從實(shí)際應(yīng)用問題出發(fā),通過具體的項(xiàng)目介紹如何使用深度學(xué)習(xí)解決實(shí)際問題,主要包括手寫數(shù)字識(shí)別、房?jī)r(jià)預(yù)測(cè)、服裝圖像識(shí)別、AI詩(shī)人、花卉識(shí)別等經(jīng)典深度學(xué)習(xí)項(xiàng)目。在項(xiàng)目講解過程中深入淺出地介紹了TensorFlow常用模塊的使用方法,建立和訓(xùn)練模型的方式,在服務(wù)器、嵌入式設(shè)備和瀏覽器等平臺(tái)部署模型的方法。本書包括8個(gè)項(xiàng)目,分別為搭建TensorFlow開發(fā)環(huán)境,手寫數(shù)字識(shí)別:TensorFlow初探,房?jī)r(jià)預(yù)測(cè):前饋神經(jīng)網(wǎng)絡(luò),服裝圖像識(shí)別:Keras搭建與訓(xùn)練模型,圖像識(shí)別:卷積神經(jīng)網(wǎng)絡(luò),AI詩(shī)人:循環(huán)神經(jīng)網(wǎng)絡(luò),預(yù)測(cè)汽車油耗效率:TensorFlow.js應(yīng)用開發(fā)和花卉識(shí)別:TensorFlow Lite。
本書的編寫理念是“以學(xué)生能力提升為本位”,指導(dǎo)原則是“理論以夠用為度,技能以實(shí)用為本”,編寫團(tuán)隊(duì)精心設(shè)置教學(xué)內(nèi)容,重構(gòu)知識(shí)與技能組織形式,體現(xiàn)案例教學(xué)、任務(wù)驅(qū)動(dòng)等教學(xué)改革成果。本書主要特色與創(chuàng)新如下。
1.編寫主體體現(xiàn)校企雙元組合
職業(yè)教育的課堂教學(xué)需要及時(shí)反映技術(shù)發(fā)展的新動(dòng)態(tài),為了編寫出高質(zhì)量的工作手冊(cè)式教材,制定合理的編寫流程,需明確學(xué)校編寫人員和企業(yè)編寫人員的科學(xué)分工。企業(yè)編寫人員將企業(yè)案例匯聚到實(shí)踐項(xiàng)目中,把企業(yè)項(xiàng)目轉(zhuǎn)化為教學(xué)項(xiàng)目,學(xué)校編寫人員按照教學(xué)規(guī)律對(duì)技術(shù)內(nèi)容進(jìn)行適當(dāng)轉(zhuǎn)化和合理編排,這實(shí)質(zhì)上是人才供需雙方在人才培養(yǎng)目標(biāo)和培養(yǎng)方式上達(dá)成共識(shí)的過程,也是一種取長(zhǎng)補(bǔ)短、優(yōu)勢(shì)互補(bǔ)的協(xié)同化工作方式。
2.教材內(nèi)容項(xiàng)目化
按照人工智能專業(yè)高素質(zhì)技能人才必備的素質(zhì)、知識(shí)和能力要求,將這些目標(biāo)落實(shí)在基于真實(shí)工作過程的學(xué)習(xí)性工作任務(wù)載體中,圍繞“將真實(shí)企業(yè)項(xiàng)目轉(zhuǎn)化為教學(xué)任務(wù),以項(xiàng)目為背景,以知識(shí)為主線,以提高能力和興趣為目的,全面提升技能水平和職業(yè)素養(yǎng)”的思路進(jìn)行教材設(shè)計(jì),完整呈現(xiàn)企業(yè)典型項(xiàng)目的開發(fā)過程。
3.將“1+X”內(nèi)容充分融入教材,職業(yè)技能標(biāo)準(zhǔn)規(guī)范化
本書涉及的知識(shí)點(diǎn)在“1+X”計(jì)算機(jī)視覺應(yīng)用開發(fā)職業(yè)技能等級(jí)證書考核體系中占有相當(dāng)大的比例,深入研究職業(yè)技能等級(jí)標(biāo)準(zhǔn)與有關(guān)專業(yè)教學(xué)標(biāo)準(zhǔn),將證書培訓(xùn)考核知識(shí)點(diǎn)有機(jī)融入教材內(nèi)容,推進(jìn)書證融通、課證融通。積極發(fā)揮職業(yè)技能等級(jí)證書在促進(jìn)院校人才培養(yǎng)、實(shí)施職業(yè)技能水平評(píng)價(jià)等方面的優(yōu)勢(shì)。
本書編寫團(tuán)隊(duì)由江蘇省科技創(chuàng)新團(tuán)隊(duì)、江蘇省青藍(lán)工程優(yōu)秀教學(xué)團(tuán)隊(duì)核心成員、國(guó)家精品在線開放課程開發(fā)團(tuán)隊(duì)中的骨干教師組成,包括平震宇、匡亮、沈冠林、朱瑩芳、凌路、高云、李濤、李陽(yáng)、朱二喜。同時(shí),吸收了知名企業(yè)一線專家深度參與本書的編寫,無(wú)錫新思聯(lián)信息技術(shù)有限公司的鄧慧斌、徐佳,聯(lián)合新大陸、澳鵬科技(無(wú)錫)有限公司以及瀚云科技有限公司等企業(yè)將其項(xiàng)目轉(zhuǎn)化為教學(xué)項(xiàng)目。
在本書的編寫過程中,得到了江蘇信息職業(yè)技術(shù)學(xué)院孫萍、顧曉燕、華馳等老師的大力支持與幫助,他們?yōu)楸緯木帉懱岢隽嗽S多寶貴的意見和建議,在此向他們表示衷心的感謝。
雖然對(duì)書中所述內(nèi)容盡量核實(shí),并進(jìn)行了多次文字校對(duì),但因時(shí)間所限,書中難免有疏漏之處,懇請(qǐng)廣大讀者批評(píng)指正。
前言
二維碼資源清單
項(xiàng)目1 搭建TensorFlow開發(fā)環(huán)境1
項(xiàng)目描述1
思維導(dǎo)圖1
項(xiàng)目目標(biāo)1
1.1 人工智能、機(jī)器學(xué)習(xí)與深度學(xué)習(xí)2
1.1.1 人工智能2
1.1.2 機(jī)器學(xué)習(xí)2
1.1.3 深度學(xué)習(xí)4
1.2 深度學(xué)習(xí)簡(jiǎn)介5
1.2.1 深度學(xué)習(xí)發(fā)展簡(jiǎn)史5
1.2.2 深度學(xué)習(xí)的工作原理7
1.2.3 深度學(xué)習(xí)的應(yīng)用9
1.3 任務(wù)1:認(rèn)識(shí)深度學(xué)習(xí)框架13
1.3.1 TensorFlow13
1.3.2 Keras14
1.3.3 PyTorch14
1.3.4 Caffe15
1.3.5 MXNet15
1.3.6 PaddlePaddle16
1.4 任務(wù)2:搭建深度學(xué)習(xí)開發(fā)環(huán)境17
1.4.1 安裝Anaconda17
1.4.2 使用Conda管理環(huán)境20
1.4.3 安裝TensorFlow21
1.4.4 常用編輯器22
拓展項(xiàng)目24
項(xiàng)目2 手寫數(shù)字識(shí)別:TensorFlow初探26
項(xiàng)目描述26
思維導(dǎo)圖26
項(xiàng)目目標(biāo)26
2.1 TensorFlow架構(gòu)27
2.1.1 TensorFlow架構(gòu)圖27
2.1.2 TensorFlow 1.x和2.0之間的差異28
2.1.3 TensorFlow數(shù)據(jù)流圖29
2.1.4 TensorFlow運(yùn)行機(jī)制31
2.2 任務(wù)1:張量的基本操作32
2.2.1 張量的階、形狀、數(shù)據(jù)類型32
2.2.2 現(xiàn)實(shí)世界中的數(shù)據(jù)張量35
2.2.3 MNIST數(shù)據(jù)集39
2.2.4 索引與切片43
2.2.5 維度變換47
2.2.6 廣播機(jī)制51
2.3 任務(wù)2:張量的進(jìn)階操作54
2.3.1 合并與分割54
2.3.2 大值、小值、均值、和58
2.3.3 張量比較60
2.3.4 張量排序63
2.3.5 張量中提取數(shù)值64
拓展項(xiàng)目65
項(xiàng)目3 房?jī)r(jià)預(yù)測(cè):前饋神經(jīng)網(wǎng)絡(luò)67
項(xiàng)目描述67
思維導(dǎo)圖67
項(xiàng)目目標(biāo)67
3.1 任務(wù)1:實(shí)現(xiàn)一元線性回歸模型68
3.1.1 準(zhǔn)備數(shù)據(jù)69
3.1.2 構(gòu)建模型69
3.1.3 迭代訓(xùn)練70
3.1.4 保存和讀取模型71
3.2 認(rèn)識(shí)神經(jīng)網(wǎng)絡(luò)72
3.2.1 神經(jīng)元72
3.2.2 激活函數(shù)74
3.3 任務(wù)2:房?jī)r(jià)預(yù)測(cè)78
3.3.1 準(zhǔn)備數(shù)據(jù)集79
3.3.2 構(gòu)建模型81
3.3.3 訓(xùn)練模型83
3.4 前饋神經(jīng)網(wǎng)絡(luò)87
3.4.1 前饋神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)87
3.4.2 損失函數(shù)89
3.4.3 反向傳播算法92
3.4.4 梯度下降算法95
拓展項(xiàng)目100
項(xiàng)目4 服裝圖像識(shí)別:Keras搭建與訓(xùn)練模型102
項(xiàng)目描述102
思維導(dǎo)圖102
項(xiàng)目目標(biāo)102
4.1 認(rèn)識(shí)tf.keras103
4.1.1 Keras與tf.keras103
4.1.2 層(Layer)104
4.1.3 模型(Model)106
4.2 任務(wù)1:服裝圖像識(shí)別108
4.2.1 構(gòu)建模型108
4.2.2 訓(xùn)練模型111
4.2.3 評(píng)估模型115
4.3 任務(wù)2:保存與加載模型116
4.3.1 SavedModel方式保存模型117
4.3.2 H5格式保存模型118
4.3.3 檢查點(diǎn)(Checkpoint)格式保存模型119
4.4 任務(wù)3:tf.data優(yōu)化訓(xùn)練數(shù)據(jù)120
4.4.1 訓(xùn)練數(shù)據(jù)輸入模型的方法120
4.4.2 tf.data API121
4.4.3 tf.data.Dataset122
4.5 任務(wù)4:花卉識(shí)別125
4.5.1 下載圖片125
4.5.2 構(gòu)建花卉數(shù)據(jù)集127
4.5.3 構(gòu)建與訓(xùn)練模型129
4.5.4 保存與加載模型130
拓展項(xiàng)目131
項(xiàng)目5 圖像識(shí)別:卷積神經(jīng)網(wǎng)絡(luò)132
項(xiàng)目描述132
思維導(dǎo)圖132
項(xiàng)目目標(biāo)132
5.1 認(rèn)識(shí)卷積神經(jīng)網(wǎng)絡(luò)133
5.1.1 卷積神經(jīng)網(wǎng)絡(luò)發(fā)展歷史133
5.1.2 全連接神經(jīng)網(wǎng)絡(luò)的問題134
5.2 卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)135
5.2.1 卷積運(yùn)算135
5.2.2 填充136
5.2.3 步長(zhǎng)137
5.2.4 多輸入通道和多輸出通道138
5.2.5 池化層139
5.3 TensorFlow對(duì)卷積神經(jīng)網(wǎng)絡(luò)的支持140
5.3.1 卷積函數(shù)141
5.3.2 池化函數(shù)144
5.4 任務(wù)1:識(shí)別CIFAR-10圖像145
5.4.1 卷積網(wǎng)絡(luò)的整體結(jié)構(gòu)145
5.4.2 CIFAR-10數(shù)據(jù)集146
5.4.3 構(gòu)造卷積神經(jīng)網(wǎng)絡(luò)模型148
5.4.4 編譯、訓(xùn)練并評(píng)估模型149
5.5 任務(wù)2:搭建經(jīng)典卷積網(wǎng)絡(luò)150
5.5.1 圖像識(shí)別的難題151
5.5.2 AlexNet152
5.5.3 VGG系列154
5.5.4 ResNet156
5.6 任務(wù)3:ResNet實(shí)現(xiàn)圖像識(shí)別158
5.6.1 ResNet模型結(jié)構(gòu)158
5.6.2 BasicBlock類159
5.6.3 搭建ResNet網(wǎng)絡(luò)模型160
5.6.4 加載數(shù)據(jù)集并訓(xùn)練模型162
拓展項(xiàng)目163
項(xiàng)目6 AI詩(shī)人:循環(huán)神經(jīng)網(wǎng)絡(luò)164
項(xiàng)目描述164
思維導(dǎo)圖164
項(xiàng)目目標(biāo)164
6.1 認(rèn)識(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)165
6.1.1 循環(huán)神經(jīng)網(wǎng)絡(luò)發(fā)展歷史165
6.1.2 循環(huán)神經(jīng)網(wǎng)絡(luò)的應(yīng)用166
6.1.3 循環(huán)神經(jīng)網(wǎng)絡(luò)的作用166
6.2 任務(wù)1:電影評(píng)論分類167
6.2.1 IMDb數(shù)據(jù)集167
6.2.2 使用全連接神經(jīng)網(wǎng)絡(luò)169
6.2.3 循環(huán)神經(jīng)網(wǎng)絡(luò)典型結(jié)構(gòu)170
6.2.4 SimpleRNNCell使用方法171
6.2.5 RNN分類IMDb數(shù)據(jù)集173
6.2.6 RNN梯度消失176
6.3 任務(wù)2:AI詩(shī)人176
6.3.1 長(zhǎng)短期記憶(LSTM)176
6.3.2 文本生成:AI詩(shī)人178
拓展項(xiàng)目184
項(xiàng)目7 預(yù)測(cè)汽車油耗效率:TensorFlow.js應(yīng)用開發(fā)186
項(xiàng)目描述186
思維導(dǎo)圖186
項(xiàng)目目標(biāo)186
7.1 認(rèn)識(shí)TensorFlow.js187
7.1.1 TensorFlow.js的優(yōu)點(diǎn)187
7.1.2 TensorFlow.js 的核心概念188
7.1.3 TensorFlow.js 環(huán)境配置190
7.2 任務(wù)1:預(yù)測(cè)汽車油耗效率193
7.2.1 創(chuàng)建主頁(yè)并加載數(shù)據(jù)194
7.2.2 定義模型結(jié)構(gòu)196
7.2.3 數(shù)據(jù)預(yù)處理196
7.2.4 訓(xùn)練與測(cè)試模型197
7.3 任務(wù)2:手寫數(shù)字識(shí)別200
7.3.1 從GitHub獲取源碼并運(yùn)行200
7.3.2 創(chuàng)建相關(guān)文件201
7.3.3 定義模型結(jié)構(gòu)203
7.3.4 訓(xùn)練模型206
7.3.5 使用模型進(jìn)行評(píng)估與預(yù)測(cè)208
拓展項(xiàng)目210
項(xiàng)目8 花卉識(shí)別:TensorFlow Lite211
項(xiàng)目描述211
思維導(dǎo)圖211
項(xiàng)目目標(biāo)211
8.1 認(rèn)識(shí)TensorFlow Lite212
8.1.1 TensorFlow Lite發(fā)展歷史212
8.1.2 TensorFlow Lite的應(yīng)用213
8.2 TensorFlow Lite體系結(jié)構(gòu)213
8.2.1 TensorFlow Lite整體架構(gòu)213
8.2.2 TensorFlow Lite轉(zhuǎn)換器214
8.2.3 FlatBuffers格式215
8.2.4 TensorFlow Lite解釋執(zhí)行器215
8.3 任務(wù)1:TensorFlow Lite開發(fā)工作流程216
8.3.1 選擇模型216
8.3.2 模型轉(zhuǎn)換218
8.3.3 模型推理219
8.3.4 優(yōu)化模型220
8.4 任務(wù)2:TensorFlow Lite實(shí)現(xiàn)花卉識(shí)別220
8.4.1 選擇模型221
8.4.2 Android部署226
拓展項(xiàng)目233
參考文獻(xiàn) 234