機(jī)器學(xué)習(xí)是人工智能領(lǐng)域中非常重要的一個(gè)研究方向,而深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)的重要組成部分,伴隨著近幾年數(shù)據(jù)規(guī)模的增長(zhǎng)和計(jì)算力的提升而備受關(guān)注。深度學(xué)習(xí)框架的快速發(fā)展大大降低了算法的入門門檻,越來(lái)越多的深度學(xué)習(xí)從業(yè)者能夠通過這些框架實(shí)現(xiàn)算法并應(yīng)用到生活場(chǎng)景中,讓我們的生活更加智能和便捷。
通過閱讀本書,你將學(xué)到:
MXNet、TensorFlow、Pytorch、Caffe等深度學(xué)習(xí)框架的差異
MXNet框架各主要模塊的技術(shù)原理和應(yīng)用實(shí)踐
MXNet在圖像分類、目標(biāo)檢測(cè)、圖像分割中的應(yīng)用,以及相關(guān)算法的訓(xùn)練、模型測(cè)試和實(shí)現(xiàn)細(xì)節(jié)
基于動(dòng)態(tài)圖構(gòu)建網(wǎng)絡(luò)結(jié)構(gòu)的Gluon接口
MXNet專門為計(jì)算機(jī)視覺任務(wù)推出的深度學(xué)習(xí)庫(kù)GluonCV
從零開始實(shí)現(xiàn)深度學(xué)習(xí)和計(jì)算機(jī)視覺算法的方法
本書分為四大部分:
第一部分為準(zhǔn)備篇(第1~2章),簡(jiǎn)單介紹深度學(xué)習(xí)相關(guān)的基礎(chǔ)背景知識(shí)、深度學(xué)習(xí)框架MXNet的發(fā)展過程和優(yōu)缺點(diǎn),同時(shí)介紹基礎(chǔ)開發(fā)環(huán)境的構(gòu)建和docker的使用,幫助讀者構(gòu)建必要的基礎(chǔ)知識(shí)背景。
第二部分為基礎(chǔ)篇(第3~7章),介紹MXNet的幾個(gè)主要模塊,介紹MXNet的數(shù)據(jù)讀取、數(shù)據(jù)增強(qiáng)操作,同時(shí)介紹了常用網(wǎng)絡(luò)層的含義及使用方法、常見網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì)思想,以及介紹模型訓(xùn)練相關(guān)的參數(shù)配置。
第三部分為實(shí)戰(zhàn)篇(第8~10章),以圖像分類、目標(biāo)檢測(cè)和圖像分割這三個(gè)常用領(lǐng)域?yàn)槔榻B如何通過MXNet實(shí)現(xiàn)算法訓(xùn)練和模型測(cè)試,同時(shí)還將結(jié)合MXNet的接口詳細(xì)介紹算法細(xì)節(jié)內(nèi)容。
第四部分為擴(kuò)展篇(第11~12章),主要介紹Gluon和GluonCV。Gluon接口是MXNet推出的用于動(dòng)態(tài)構(gòu)建網(wǎng)絡(luò)結(jié)構(gòu)的重要接口,GluonCV則是一個(gè)專門為計(jì)算機(jī)視覺任務(wù)服務(wù)的深度學(xué)習(xí)庫(kù)。
魏凱峰
資深A(yù)I算法工程師和計(jì)算機(jī)視覺工程師,在MXNet、Pytorch、深度學(xué)習(xí)相關(guān)算法等方面有深入的研究和豐富的實(shí)踐經(jīng)驗(yàn)。
目前就職于網(wǎng)易杭州研究院,從事計(jì)算機(jī)視覺算法相關(guān)的工作,主要研究方向包括目標(biāo)檢測(cè)、圖像分類、圖像對(duì)抗算法、模型加速和壓縮。
熱衷于分享,堅(jiān)持在Github上分享算法相關(guān)的代碼,堅(jiān)持在CSDN上撰寫算法相關(guān)的博客,累計(jì)百余篇,訪問量過百萬(wàn)。
前言
第1章 全面認(rèn)識(shí)MXNet1
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í)框架4
1.2.1 MXNet6
1.2.2 PyTorch6
1.2.3 Caffe/Caffe27
1.2.4 TensorFlow7
1.2.5 其他7
1.3 關(guān)于MXNet8
1.3.1 MXNet的發(fā)展歷程8
1.3.2 MXNet的優(yōu)勢(shì)9
1.4 MXNet開發(fā)需要具備的知識(shí)10
1.4.1 接口語(yǔ)言11
1.4.2 NumPy11
1.4.3 神經(jīng)網(wǎng)絡(luò)11
1.5 本章小結(jié)12
第2章 搭建開發(fā)環(huán)境13
2.1 環(huán)境配置14
2.2 使用Docker安裝MXNet19
2.2.1 準(zhǔn)備部分19
2.2.2 使用倉(cāng)庫(kù)安裝Docker20
2.2.3 基于安裝包安裝Docker23
2.2.4 安裝nvidia-docker23
2.2.5 通過Docker使用MXNet25
2.3 本地pip安裝MXNet27
2.4 本章小結(jié)29
第3章 MXNet基礎(chǔ)31
3.1 NDArray31
3.2 Symbol37
3.3 Module43
3.4 本章小結(jié)48
第4章 MNIST手寫數(shù)字體分類50
4.1 訓(xùn)練代碼初探52
4.2 訓(xùn)練代碼詳細(xì)解讀55
4.2.1 訓(xùn)練參數(shù)配置56
4.2.2 數(shù)據(jù)讀取59
4.2.3 網(wǎng)絡(luò)結(jié)構(gòu)搭建59
4.2.4 模型訓(xùn)練61
4.3 測(cè)試代碼初探62
4.4 測(cè)試代碼詳細(xì)解讀64
4.4.1 模型導(dǎo)入64
4.4.2 數(shù)據(jù)讀取66
4.4.3 預(yù)測(cè)輸出67
4.5 本章小結(jié)68
第5章 數(shù)據(jù)讀取及增強(qiáng)69
5.1 直接讀取原圖像數(shù)據(jù)70
5.1.1 優(yōu)點(diǎn)及缺點(diǎn)70
5.1.2 使用方法71
5.2 基于RecordIO文件讀取數(shù)據(jù)75
5.2.1 什么是RecordIO文件75
5.2.2 優(yōu)點(diǎn)及缺點(diǎn)76
5.2.3 使用方法76
5.3 數(shù)據(jù)增強(qiáng)78
5.3.1 resize79
5.3.2 crop83
5.3.3 鏡像89
5.3.4 亮度90
5.3.5 對(duì)比度92
5.3.6 飽和度 94
5.4 本章小結(jié)95
第6章 網(wǎng)絡(luò)結(jié)構(gòu)搭建97
6.1 網(wǎng)絡(luò)層98
6.1.1 卷積層98
6.1.2 BN層106
6.1.3 激活層108
6.1.4 池化層111
6.1.5 全連接層114
6.1.6 損失函數(shù)層116
6.1.7 通道合并層119
6.1.8 逐點(diǎn)相加層121
6.2 圖像分類網(wǎng)絡(luò)結(jié)構(gòu)122
6.2.1 AlexNet123
6.2.2 VGG124
6.2.3 GoogleNet125
6.2.4 ResNet128
6.2.5 ResNeXt130
6.2.6 DenseNet131
6.2.7 SENet132
6.2.8 MobileNet134
6.2.9 ShuffleNet136
6.3 本章小結(jié)138
第7章 模型訓(xùn)練配置140
7.1 問題定義141
7.2 參數(shù)及訓(xùn)練配置142
7.2.1 參數(shù)初始化142
7.2.2 優(yōu)化函數(shù)設(shè)置144
7.2.3 保存模型145
7.2.4 訓(xùn)練日志的保存146
7.2.5 選擇或定義評(píng)價(jià)指標(biāo)147
7.2.6 多GPU訓(xùn)練150
7.3 遷移學(xué)習(xí)151
7.4 斷點(diǎn)訓(xùn)練153
7.5 本章小結(jié)154
第8章 圖像分類156
8.1 圖像分類基礎(chǔ)知識(shí)157
8.1.1 評(píng)價(jià)指標(biāo)158
8.1.2 損失函數(shù)160
8.2 貓狗分類實(shí)戰(zhàn)160
8.2.1 數(shù)據(jù)準(zhǔn)備161
8.2.2 訓(xùn)練參數(shù)及配置165
8.2.3 數(shù)據(jù)讀取168
8.2.4 網(wǎng)絡(luò)結(jié)構(gòu)搭建170
8.2.5 訓(xùn)練模型171
8.2.6 測(cè)試模型176
8.3 本章小結(jié)179
第9章 目標(biāo)檢測(cè)180
9.1 目標(biāo)檢測(cè)基礎(chǔ)知識(shí)182
9.1.1 數(shù)據(jù)集184
9.1.2 SSD算法簡(jiǎn)介188
9.1.3 anchor189
9.1.4 IoU194
9.1.5 模型訓(xùn)練目標(biāo)195
9.1.6 NMS199
9.1.7 評(píng)價(jià)指標(biāo)mAP201
9.2 通用目標(biāo)檢測(cè)202
9.2.1 數(shù)據(jù)準(zhǔn)備203
9.2.2 訓(xùn)練參數(shù)及配置205
9.2.3 網(wǎng)絡(luò)結(jié)構(gòu)搭建208
9.2.4 數(shù)據(jù)讀取215
9.2.5 定義訓(xùn)練評(píng)價(jià)指標(biāo)218
9.2.6 訓(xùn)練模型220
9.2.7 測(cè)試模型221
9.4 本章小結(jié)224
第10章 圖像分割225
10.1 圖像分割226
10.1.1 數(shù)據(jù)集227
10.1.2 評(píng)價(jià)指標(biāo)229
10.1.3 語(yǔ)義分割算法230
10.2 語(yǔ)義分割實(shí)戰(zhàn)231
10.2.1 數(shù)據(jù)準(zhǔn)備232
10.2.2 訓(xùn)練參數(shù)及配置233
10.2.3 數(shù)據(jù)讀取237
10.2.4 網(wǎng)絡(luò)結(jié)構(gòu)搭建240
10.2.5 定義評(píng)價(jià)指標(biāo)245
10.2.6 訓(xùn)練模型249
10.2.7 測(cè)試模型效果251
10.3 本章小結(jié)253