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