商品簡介
本書對二維、三維目標檢測技術涉及的骨幹網絡及入門的計算機視覺算法進行全面的介紹。本書由淺入深地介紹了MNIST、ImageNet、CIFAR、波士頓房產、ModelNet等經典二維、三維數據集和相關國際賽事,還介紹了TensorFlow中的二維卷積層、全連接層、激活層、池化層、批次歸一化層、隨機失活層的算法和梯度下降原理,AlexNet、VGG、ResNet、DarkNet、CSP-DarkNet等經典骨幹網絡的設計原理,以及PointNet、GCN等三維計算機視覺神經網絡。此外,本書通過設計巧妙且具體的案例,讓讀者穩步建立扎實的編程能力,包括數據集的製作和解析、神經網絡模型設計能力和開銷估算、損失函數的設計、神經網絡的動態模式和靜態模式的訓練方法和過程控制、神經網絡的邊緣計算模型量化、神經網絡的云計算部署。完成本書的學習,讀者可以繼續閱讀與本書緊密銜接的《深入理解計算機視覺:在邊緣端構建高效的目標檢測系統》,將所學的計算機視覺基礎知識運用到目標檢測的神經網絡設計中,對邊緣計算環境下的神經網絡進行遊刃有余的調整。
作者簡介
作者本科畢業於天津大學通信工程專業,碩士研究生階段就讀於廈門大學,主攻嵌入式系統和數字信號底層算法,具備扎實的理論基礎。作者先後就職於中國電信集團公司和福建省電子信息(集團)有限責任公司,目前擔任福建省人工智能學會的理事和企業工作委員會的主任,同時也擔任谷歌開發者社區、亞馬遜開發者生態的福州區域負責人,長期從事機器視覺和自然語言基礎技術的研究,積累了豐富的人工智能項目經驗,致力於推動深度學習在交通、工業、民生、建築等領域的應用落地。作者於2017年獲得高級工程師職稱,擁有多項發明專利。
名人/編輯推薦
視覺雙雄,隆重出版!
《深入理解計算機視覺:關鍵算法解析與深度神經網絡設計》 《深入理解計算機視覺:在邊緣端構建高效的目標檢測應用》
凝聚作者半生心血,內含實用專利技術
真正的從實戰中來,到培訓中去,再進入實戰
跟著學習,就能學會AI應用構建的思路、方法、技巧
堪稱ChatGPT式人工智能應用開發的保姆級教程
序
推薦序一
在人工智能70余年的發展歷程中,機器學習的重要性不容忽視。隨著神經聯結主義方法論的不斷發展,近10年來,建立在深度神經網絡模型之上的深度學習技術異軍突起,已經成為人工智能的中堅力量。與此同時,計算機視覺技術也達到了前所未有的高度。
本書介紹的計算機視覺相關技術是深度學習在計算機視覺領域的具體應用,不僅介紹了當下為流行的圖像分類和目標檢測技術的算法框架,還介紹了它們的數據集處理、云計算、邊緣計算的運用技巧,過程詳實、簡單實用。推廣一個技術的好方式就是“運用它”,如果越來越多的企業和工程人員能夠運用機器學習乃至機器意識的相關技術為用戶和社會創造價值,那麼人工智能的未來之路就一定會越走越寬!
“人無遠慮,必有近憂。”為了能夠參與全球性的人工智能競爭和合作,我們現在就應該前瞻性地開展前沿關鍵技術的基礎性研究。本書在介紹工程應用的同時,還對深度學習的算法原理、神經網絡設計意圖等較為基礎和抽象的概念進行了介紹,邏輯清晰、形象直觀。特別是近些年興起的三維計算機視覺和圖卷積神經網絡技術,它們與二維計算機視覺有著千絲萬縷的聯繫。唯有夯實計算機視覺的技術基礎,我們才能參與自動駕駛、感知計算等前沿領域的全球競爭和合作。
後,希望讀者能夠將書中的深度學習技術運用到具體問題的解決之中,通過扎實的研究建立深厚的人工智能理論基礎,通過技術應用積累計算機視覺實戰經驗,共同參與到讓計算機更加“靈活”地服務於人類社會的實踐之中,為智能社會的發展貢獻一份力量。
周昌樂
北京大學博士,廈門大學教授,心智科學家
中國人工智能學會理事,福建省人工智能學會理事長
推薦序二
I am happy to hear that Eric Zhang wrote a book covering object detection using TensorFlow. He knows how to quickly develop a solution based on the Neural Network using the high level frameworks like TensorFlow which otherwise would have required many more lines of code. The book also covers an end to end development cycle of a Deep Learning neural network and it will be very useful for the readers who are interested in this topic. Writing a book requires an extensive amount of effort and he finally completed it. Congratulations to Eric and all the readers who will gain a lot of useful knowledge from this book as well!
Soonson Kwon
Google Global ML Developer Programs Lead
我聽聞Eric Zhang撰寫了這本介紹如何使用TensorFlow進行目標檢測的書。Eric深知如何使用以TensorFlow為代表的機器學習高級框架來提高神經網絡的代碼編寫效率,以及如何使用深度神經網絡來快速開發人工智能解決方案。這本書涵蓋了深度學習神經網絡“端到端”的全研發周期,對於讀者大有裨益。這本書傾注了Eric的大量心力,祝賀他如願完成了此書的編寫,相信讀者將從這本書中獲得大量有用的知識。
Soonson Kwon
谷歌全球機器學習生態系統項目負責人
前言
數字化時代的核心是智能化。隨著人工智能技術的逐步成熟,智能化應用不斷涌現,因此信息行業從業人員需要具備一定的人工智能知識和技術儲備。人工智能突出的兩個技術應用領域是計算機視覺和自然語言。計算機視覺處理的是圖像,自然語言處理的是語音和語言。由於計算機視覺採用的CNN神經元結構較早被提出,技術方案也較為成熟,因此本書著重介紹計算機視覺技術。
在整個計算機視覺領域中,本書選擇重點講述二維、三維目標檢測技術,主要基於兩方面的考慮:一方面,目標檢測技術是當前計算機視覺中有應用價值的技術,大到自動駕駛中的行人和車輛識別,小到智能食堂的餐盤識別,日常生活中的視頻監控、專業領域中的路面鋪裝質量監控都是目標檢測技術的具體應用場景;另一方面,目標檢測神經網絡一般包含骨幹網絡、中段網絡(特徵融合網絡)、頭網絡(預測網絡)、解碼網絡、數據重組網絡、NMS算法模塊等,知識點覆蓋較為全面。
從計算機視覺的新手到目標檢測專家的進階過程不僅要求開發者具備數據集製作和骨幹網絡設計的基本技能,也要求開發者具備中段網絡、頭網絡設計的技能,更需要具備根據邊緣端部署和服務器端部署的要求調整網絡的能力。可以說,學會了目標檢測技術,就擁有了計算機視覺的完整技術棧,就具備了較為全面的技能去應對其他計算機視覺項目。
本書採用的編程計算框架TensorFlow是深度學習領域中應用廣泛的編程框架,早由谷歌公司推出,目前已被廣泛用於全球各大人工智能企業的深度學習實驗室和工業生產環境。互聯網上大部分的人工智能前沿成果都是通過TensorFlow實現的。TensorFlow提供了更齊全的數據集支持和更快的數據管道,支持GPU和TPU的硬件加速。TensorFlow支持多種環境部署。開發者可通過TensorFlow Serving工具將模型部署在服務器上,還可通過TensorFlow Lite工具將模型轉化為可在邊緣端推理的TFlite格式。特別地,TensorFlow升級至2.X版本之後可支持Eager Mode的立即執行模式,這使得它的編程更加直觀和便於調試。
如果執著於由淺及深地講授計算機視覺的基礎理論,那麼對讀者而言會較為抽象、枯燥;如果拼湊、堆砌易於上手的實踐案例,那麼會落入“常用技術反復講、關鍵技術脈絡不清”的桎梏。因此,本書通過設計巧妙的案例,將計算機視覺技術“抽絲剝繭”,讓讀者在探索計算機視覺的每個學習階段都能找到合適的項目代碼並著手嘗試,從而在積累基礎理論知識的同時,穩步建立實踐能力。
後,為避免混淆,有必要厘清兩個概念——人工智能和深度學習。人工智能是指應用計算機達到與人類智能相當的水平,深度學習是指運用深度神經網絡技術達到一定的智能水平。人工智能指向的是“效果”,深度學習指向的是“方法”,二者不可等同。實現人工智能的方法不僅有深度學習,還包含傳統的信息化手段和專家邏輯判斷。但以目前的技術水平,深度學習所能達到的智能水平是的,所以一般用人工智能來指代深度學習,也用深度學習來指代人工智能,因此本書對二者不進行嚴格的區分。
為何撰寫本書
筆者在做以目標檢測為主題的講座報告或技術分享時,發現聽眾普遍對人工智能技術很感興趣,但是又不知從何下手。目標檢測技術涉及理工科多種基礎知識和技能。其一是數學,涉及矩陣計算、概率分布;其二是編程,涉及計算框架API和面向物件的Python編程技巧;其三是數據處理,涉及數字圖像算法和嵌入式系統。每種基礎知識和技能都對應著高等教育中的一門課程,多數開發者對此似曾相識,但又理解得不夠深刻。高等教育偏向於挖掘垂直領域,並沒有刻意將跨領域的知識融會貫通。因此,筆者在詳細講授目標檢測原理和應用之前,先詳細介紹了目標檢測中將會用到的關鍵算法,並對目標檢測中重要的骨幹網絡進行了由淺入深的介紹。深入理解本書所涵蓋的理論知識便於讀者閱讀與本書緊密相關的進階書籍《深入理解計算機視覺:在邊緣端構建高效的目標檢測應用》,並在目標檢測的理論和實踐上都達到一定的高度。
為避免讀者在閱讀公式和代碼時感到抽象,筆者在編寫過程中有意圍繞較為形象的數據流闡釋原理,盡量使用數據結構圖來展示算法對數據的處理意圖和邏輯。相信讀者在理解了輸入/輸出數據流結構圖的基礎上,面對公式和代碼時不會感到晦澀。
筆者發現許多企業在初期涉足人工智能時,由於對人工智能不甚了解,陷入了“模型選型→性能不理想→修改失敗→嘗試其他模型→再次失敗”的怪圈。目前有大量的計算機視覺代碼可供下載,簡單配置後就能成功運行,但筆者仍建議從基礎的數據集處理、特徵提取網絡入手,建立和解析若干個數據集,深入剖析若干個經典的神經網絡,這對讀者真正掌握目標檢測的原理是很有幫助的。我們在工作中難免會不斷更換模型,甚至不斷更換框架,如果缺乏對神經網絡設計的深入理解,那麼對每種模型、每個框架都無法運用自如。不同模型和不同框架在本質上有異曲同工之處,筆者希望人工智能從業人員能扎實掌握某種框架下具有代表性的模型,在計算機視覺領域中自然也能有所創新。
關於本書的作者
作者本科畢業於天津大學通信工程專業,碩士研究生階段就讀於廈門大學,主攻嵌入式系統和數字信號底層算法,具備扎實的理論基礎。作者先後就職於中國電信和福建省電子信息集團,目前擔任福建省人工智能學會理事和企業工作委員會主任,同時也擔任谷歌開發者社區、亞馬遜開發者生態的福州區域負責人。作者長期從事計算機視覺和自然語言基礎技術的研究,積累了豐富的人工智能項目經驗,致力於推動深度學習在交通、工業、民生、建築等應用領域的落地。作者於2017年獲得高級工程師職稱,擁有多項發明專利。
本書作者GitHub帳號是fjzhangcr。
本書的主要內容
本書共6篇,第1篇至第4篇適合開發者和本科生快速入門計算機視覺,第5篇涉及目標檢測中的特徵提取網絡設計原理和技巧,第6篇涉及三維計算機視覺入門和實戰,適合進階開發者和高等院校高年級學生深入了解人工智能。本書的主要內容如下。
第1篇旨在讓讀者快速搭建TensorFlow開發環境,並使用TensorFlow快速建立基礎的神經網絡。在具備開發環境的條件下,即使是次接觸計算機視覺的新手,利用TensorFlow強大的編程能力,預計也能在10分鐘內完成該篇介紹的圖像分類項目。
第2篇旨在讓讀者快速熟悉計算機視覺的開發流程。從數據集的製作入手,延伸至神經網絡的構建、編譯和訓練,以及神經網絡靜態圖的邊緣端和服務器端的部署,掌握該篇內容就可以應對大多數企業計算機視覺項目的研發、生產和運維。
第3篇旨在讓讀者深入理解深度學習的原理和TensorFlow的類繼承關係。神經網絡的本質是函數,該篇給出了神經網絡推理和訓練的數學定義,幫助開發者在神經網絡的基礎理論領域有所創新。該篇還介紹了TensorFlow的自動微分機制和基礎類的繼承關係,有助於開發者靈活地使用層和模型定義工具,將基礎理論創新轉化為代碼編程實踐。
第4篇旨在讓讀者熟練使用TensorFlow的重要層組件組裝模型。該篇並非枯燥地介紹層組件的屬性,而是通過計算機視覺神經網絡的經典案例,讓讀者快速了解和掌握這些層組件的屬性和資源開銷。雖然這些神經網絡只能用於圖像分類,但在目標檢測的計算機視覺應用中承擔著特徵提取的重要職責。該篇還介紹了神經網絡計算加速硬件、TensorFlow的訓練方法和訓練過程監控,方便開發者靈活調用。
第5篇由淺及深地介紹了目標檢測中的特徵提取網絡。該篇介紹的若干神經網絡非常經典,“小核卷積”和“殘差連接”是目前神經網絡廣泛使用的設計思路。該篇還介紹了目標檢測神經網絡中性能較強的特徵提取骨幹網絡和知名計算機視覺數據集,以及如何使用預訓練權重進行遷移學習。
第6篇旨在讓讀者了解三維機器學習領域,三維計算機視覺使用的數據表達方式與二維計算機視覺有著巨大的差別,對神經網絡也有著特殊的要求。該篇在三維數據格式的基礎上介紹了從二維數據重建三維物體的若干神經網絡,並借助實際的編程案例展示了三維物體的識別。因為三維視覺數據在本質上是一個圖,所以該篇還介紹了圖計算的相關基礎理論,展示了基於圖卷積神經網絡的具體應用。
附錄中說明了本書的官方代碼引用、運行環境搭建,以及TensorFlow矩陣的基本操作。讀者若對基本操作有疑問,則可以根據附錄說明登錄相關網站進行查閱和提問。
如何閱讀本書
本書適合具備一定計算機、通信、電子等理工科專業基礎的本科生、研究生及具有轉型意願的軟件工程師閱讀。讀者應當具備高等數學、線性代數、概率論、Python編程、圖像處理等基礎知識。上述知識有所遺忘也無大礙,本書會幫助讀者進行適當的溫習和回顧。
如果希望快速了解計算機視覺的整體概念,那麼建議閱讀本書的第1篇、第2篇。第1篇、第2篇以花卉識別的案例,介紹了計算機視覺項目從數據集到訓練,再到云計算部署和邊緣部署的全部流程。讀者閱讀這部分內容後,只需要稍微調整數據集,就可以實現個性化的計算機視覺項目。
如果希望深入掌握計算機視覺的基礎原理,那麼建議仔細閱讀本書的第3篇、第4篇,這部分內容將介紹目標檢測網絡中骨幹網絡的結構及搭建網絡必需的各種層組件,幫助讀者形成觸類旁通的知識沉澱。
如果希望掌握計算機視覺神經網絡的設計原理,那麼建議仔細閱讀本書的第5篇。第5篇介紹了若干經典的骨幹網絡,骨幹網絡負責提取特徵,是所有計算機視覺神經網絡擁有的結構單元。掌握骨幹網絡的設計原理能夠培養領悟計算機視覺相關文獻和代碼的能力,從而具備神經網絡定制和開發的能力。
如果讀者對二維計算機視覺已經有了較為深刻的認識,那麼可以通過第6篇快速入門三維計算機視覺。雖然三維計算機視覺在數據結構和算法實現上與二維計算機視覺不同,但三維計算機視覺神經網絡仍大量借鑒了二維計算機視覺的設計邏輯和層組件。
讀完本書,相信讀者能夠掌握層組件的原理,具備多種神經網絡的知識,理解二維、三維計算機視覺的異同點,熟練使用TensorFlow開發框架,從而應對複雜多變的應用場景。
本書遵循理論和實踐相融合的編寫原則,讀者可以直接通過代碼示例加深理論理解。數學是工科的基礎,理論永遠走在技術的前面。建議讀者務必按照本書的篇章順序,動手實踐書中介紹的計算機視覺項目,從零開始打好計算機視覺基礎,從而更快上手其他計算機視覺技術(如目標檢測、圖像分割、圖像注意力機制、圖像擴散模型等)。另外,需要聲明的是,由於本書涉及實際工程知識較多,所以在書中習慣性地將計算機視覺稱為機器視覺,機器視覺是計算機視覺在實際工程中的應用。
致謝
感謝我的家人,特別是我的兒子,是你平時提出的一些問題,推動我不斷地思考人工智能的哲學和原理,這門充斥著公式和代碼的學科背後其實也有著淺顯和直白的因果邏輯。
感謝求學路上福州格致中學的王恩奇老師,福州中學的林立燦老師,天津大學的李慧湘老師,廈門大學的黃聯芬老師、鄭靈翔老師,是你們當年的督促和鼓勵讓我有能力和勇氣用知識去求索技術的極限。
感謝福建省人工智能學會的周昌樂理事長,谷歌全球機器學習開發者生態的負責人Soonson Kwon,谷歌Coral產品線負責人欒躍,谷歌中國的魏巍、李雙峰,北京算能科技有限公司的範硯池、金佳萍、張晉、侯雨、吳楠、檀庭梁、劉晨曦,福州十方網絡科技有限公司,福建米多多網絡科技有限公司,福州樂凡唯悅網絡科技有限公司及那些無法一一羅列的默默支持我的專家。感謝你們一直以來對人工智能產業的關注,感謝你們對本書的關懷和支持。
感謝電子工業出版社計算機專業圖書分社社長孫學瑛女士,珠海金山數字網絡科技有限公司(西山居)人工智能技術專家、高級算法工程師黃鴻波的熱情推動,終促成了我將內部培訓文檔出版成圖書,讓更多的人看到。你們具有敏銳的市場眼光,你們將傾聽到的致力於人工智能領域的廣大開發者的心聲與我分享,堅定了我將技術積澱整理成書稿進行分享的決心。在本書的整理寫作過程中,你們多次邀請專家提出有益意見,對於本書的修改和完善起到了重要作用。
由於作者水平有限,書中難免存在不足之處,敬請專家和讀者批評指正。
張晨然
2023年2月
目次
目錄
第1篇 計算機視覺開發環境的搭建 1
第1章 Python編程環境 2
1.1 Python語言簡介 2
1.2 Python腳本的運行方式 3
1.3 Anaconda虛擬環境管理器 3
1.4 使用Anaconda建立虛擬環境 5
第2章 搭建三層的圖像分類神經網絡 7
2.1 下載數據集 7
2.2 探索數據集 8
2.3 構建、編譯和訓練神經網絡 9
2.4 使用神經網絡進行批量預測 12
2.5 將預測結果可視化 13
第2篇 計算機視覺模型從實驗室到生產環境的部署 15
第3章 圖片數據集的處理 16
3.1 數據集的預處理 16
3.1.1 下載和查看數據集 16
3.1.2 準備花卉類別名稱和類別序號的對應關係 17
3.1.3 準備花卉圖片和類別名稱的對應關係 18
3.2 數據集的製作 20
3.2.1 擬寫入數據集的數據 20
3.2.2 TFRecord格式的數據集 21
3.2.3 單個樣本的生成函數 24
3.2.4 批量生成樣本並寫入TFRecord文件 26
3.3 數據集的讀取和驗證 27
3.3.1 解析單個樣本 27
3.3.2 製作函數批量解析樣本 30
3.4 數據管道的優化處理 31
第4章 遷移學習和神經網絡的設計 35
4.1 遷移學習的概念和花卉分類應用 35
4.2 下載MobileNet 36
4.3 設置MobileNet 38
4.4 測試MobileNet的特徵提取輸入和輸出 39
第5章 損失函數的基礎原理 42
5.1 回歸場景下常用的損失函數 42
5.2 回歸場景下的損失函數實戰 44
5.3 分類場景下的損失函數 47
5.3.1 概率、幾率、對數幾率的概念 47
5.3.2 對數幾率和概率的相互轉換 49
5.3.3 多標簽與單標簽分類問題 51
5.3.4 單標簽分類問題和交叉熵算法原理 52
5.3.5 交叉熵損失函數 54
5.4 自定義損失函數 56
第6章 神經網絡的編譯和訓練 58
6.1 神經網絡的編譯 58
6.2 神經網絡的訓練 59
6.2.1 神經網絡訓練的基本概念 59
6.2.2 神經網絡訓練的常用回調機制 60
6.2.3 訓練的返回和過擬合的觀測 62
6.3 神經網絡的保存 65
6.3.1 神經網絡保存的格式和命令 65
6.3.2 神經網絡的性能測試和推理 72
第7章 TensorFlow模型的部署方式 74
7.1 以Edge TPU為例進行邊緣端模型部署 75
7.1.1 將模型轉換為TFLite格式 75
7.1.2 針對邊緣硬件編譯模型 77
7.1.3 模擬邊緣端推理 79
7.1.4 配置邊緣計算開發板Edge TPU 81
7.1.5 編寫邊緣端推理代碼 85
7.1.6 將推理代碼下載到開發板並運行 87
7.2 在服務器端部署模型 89
7.2.1 TensorFlow Serving的安裝和使用 89
7.2.2 網絡推理請求和響應實戰 92
第3篇 神經網絡的數學原理和TensorFlow計算框架 95
第8章 神經網絡訓練的數學原理和優化器 96
8.1 損失函數和神經網絡訓練的本質 96
8.1.1 神經網絡函數的數學抽象 96
8.1.2 計算損失函數極值的數學抽象 97
8.2 使用符號微分法獲得損失值的全局小值 98
8.3 使用局部梯度下降法不斷靠近損失函數的小值 105
8.3.1 局部梯度下降法的原理和TensorFlow的優化器 105
8.3.2 自動微分法的原理及自定義梯度 110
8.3.3 使用自動微分法和局部梯度下降法訓練波士頓房產數據模型 115
第9章 神經網絡的編程範式和靜態圖轉化機制 122
9.1 計算圖和編程範式 122
9.2 靜態圖轉化機制AutoGraph和裝飾器@tf.function 126
9.3 TensorFlow神經網絡模型的類繼承關係 131
9.3.1 TensorFlow的低階API和Keras的高階API 131
9.3.2 Keras的基礎模型類和基礎層類 132
9.4 使用Keras的高階API構建模型並進行可視化 136
9.4.1 使用序列方式構建模型 138
9.4.2 使用函數方式構建模型 139
9.4.3 使用繼承子類方式構建模型 140
9.4.4 提取模型對應的類名稱 143
第4篇 神經網絡層的算法原理和訓練過程控制 144
第10章 神經網絡層的原理和資源開銷 145
10.1 全連接層的原理和資源開銷 145
10.1.1 全連接層的原理 145
10.1.2 全連接層的資源開銷 145
10.1.3 TensorFlow全連接層的API 147
10.2 激活函數的原理和代碼實現 148
10.2.1 激活函數的原理 148
10.2.2 激活函數的代碼實現 149
10.3 二維卷積的原理和資源開銷 150
10.3.1 二維卷積的原理 150
10.3.2 二維卷積的資源開銷 154
10.3.3 TensorFlow二維卷積層的API 155
10.3.4 二維卷積層的配置方式 157
10.4 池化層的原理和實戰 158
10.5 二維卷積層和池化層的感受野 161
10.6 隨機失活算法和默認推理狀態 162
10.7 批次歸一化算法 163
10.7.1 內部協變量漂移和輸入數據重分布 164
10.7.2 訓練階段的BN算法 170
10.7.3 推理階段的BN算法 173
10.7.4 在神經網絡模型內使用BN層 175
10.8 製作神經網絡的資源開銷函數 177
10.8.1 整體框架 177
10.8.2 二維卷積層的資源開銷算法 178
10.8.3 全連接層的資源開銷算法 179
10.8.4 BN層的資源開銷算法 180
10.8.5 其他成員函數 180
第11章 使用計算加速硬件加快神經網絡的訓練 183
11.1 人工智能的數據類型和運算能力 183
11.2 人工智能計算中的數據類型匹配 185
11.3 人工智能硬件的運算能力評估 187
11.4 安裝GPU版本的TensorFlow計算框架 192
11.5 使用卷積層和全連接層構建經典神經網絡LeNet 196
11.5.1 MNIST手寫數字數據集 197
11.5.2 使用貫序方式建立極簡神經網絡LeNet 200
11.5.3 使用fit方法在MNIST手寫數字數據集上訓練LeNet5 205
11.5.4 使用eager方法在MNIST手寫數字數據集上訓練LeNet5 208
第12章 自定義fit方法和回調機制 214
12.1 fit方法的執行機制和自定義fit方法 214
12.2 fit方法的回調機制和自定義回調函數 217
12.3 TensorFlow的高階回調函數 222
12.3.1 早期停止回調函數與過擬合 222
12.3.2 檢查點保存回調函數 224
12.3.3 檢查點管理器和快速自定義回調函數 225
12.3.4 其他高階回調函數類 228
12.4 訓練過程監控和回調函數 229
12.4.1 TensorBoard和日志文件的原理和接口 230
12.4.2 TensorBoard的可視化查看 232
12.4.3 eager方法下使用tf.summary存儲日志 235
12.4.4 fit方法下的TensorBoard日志存儲回調函數 238
第5篇 目標檢測中的骨幹網絡 244
第13章 經典骨幹網絡AlexNet的原理解析 245
13.1 整體結構和數據增強 245
13.2 負責特徵提取的、二層卷積層 246
13.3 負責特徵提取的第三、四、五層卷積層 248
13.4 負責特徵線性組合的第六、七、八層 251
13.5 使用繼承子類方式建立的AlexNet神經網絡 252
13.6 AlexNet的資源開銷 256
第14章 經典小核卷積神經網絡VGG的原理解析 259
14.1 VGG的宏觀結構和微觀特點 259
14.2 VGG16的、二個卷積塊結構 261
14.3 VGG16的第三、四、五個卷積塊結構 264
14.4 VGG五個卷積塊的代碼實現 267
14.5 VGG小核卷積技巧下的資源開銷 269
14.6 VGG預訓練模型的加載和下遊網絡 272
第15章 經典殘差神經網絡ResNet的原理解析 276
15.1 殘差連接的原理和結構 277
15.2 瓶頸殘差模塊堆疊的輸入和輸出函數關係 279
15.3 瓶頸殘差模塊的輸入和輸出函數關係 283
15.4 堆疊函數關係和通用的ResNet網絡結構 289
15.5 ResNet50 V2模型的案例解析 293
15.6 ResNet的資源開銷評估 297
15.7 ResNet的遷移學習和權重參數加載 299
第16章 多尺度特徵提取的神經網絡DarkNet 302
16.1 DarkNet的基本處理單元 302
16.1.1 DarkNet的專用卷積塊DarknetConv 303
16.1.2 DarkNet的殘差模塊DarknetResidual 305
16.2 YOLO V3的骨幹網絡DarkNet53 307
16.2.1 YOLO V3的殘差模塊堆疊 307
16.2.2 DarkNet53的整體結構和代碼實現 313
16.2.3 DarkNet53的資源開銷 315
16.3 YOLO V3簡版模型的骨幹網絡DarkNet53-tiny 316
16.3.1 DarkNet53-tiny的整體結構和代碼 316
16.3.2 DarkNet53-tiny的測試和資源開銷 318
16.4 YOLO V4的骨幹網絡CSP-DarkNet 319
16.4.1 殘差模塊堆疊結構 319
16.4.2 五個殘差模塊堆疊結構的代碼實現 321
16.4.3 空間金字塔池化結構 325
16.4.4 CSP-DarkNet的整體結構和代碼實現 328
16.4.5 CSP-DarkNet的測試和資源開銷 330
16.5 YOLO V4簡版模型的骨幹網絡CSP-DarkNet-tiny 331
16.5.1 矩陣切片自定義層的算法和保存規範 331
16.5.2 簡版殘差模塊和簡版殘差模塊堆疊 332
16.5.3 CSP-DarkNet-tiny的整體結構和代碼 336
16.5.4 CSP-DarkNet-tiny的測試和資源開銷 337
第17章 骨幹網絡預訓練和大型圖像數據集ImageNet 339
17.1 ImageNet數據集和ILSVRC競賽 339
17.1.1 單標簽圖像分類任務 340
17.1.2 單標簽分類和定位任務 342
17.1.3 細顆粒度分類任務 345
17.1.4 目標檢測任務 346
17.1.5 其他競賽任務 346
17.2 CIFAR數據集 347
17.3 加載骨幹網絡預訓練權重進行遷移學習 351
17.3.1 快速創建LeNet和AlexNet並進行開銷分析 352
17.3.2 使用高階API快速構建VGG、ResNet、MobileNet 354
17.4 加載骨幹網絡DarkNet的預訓練權重 361
17.4.1 讀取和解析YOLO的官方權重 361
17.4.2 設計DarkNet骨幹網絡並加載轉換後的權重 366
17.5 使用圖像分類任務測試骨幹網絡權重的性能 368
第6篇 三維計算機視覺入門和實戰 371
第18章 三維計算機視覺的數據表達和主要任務 372
18.1 三1
主題書展
更多書展今日66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。