TensorFlow計算機視覺原理與實戰( 簡體 字) | |
作者:歐陽鵬程、任浩然 | 類別:1. -> 教材 -> 數位影像處理 2. -> 程式設計 -> 深度學習 |
出版社:清華大學出版社 | 3dWoo書號: 54792 詢問書籍請說出此書號! 有庫存 NT售價: 445 元 |
出版日:6/1/2021 | |
頁數:350 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787302579687 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章深度學習簡介及TensorFlow環境搭建(21min)
1.1什么是深度學習 1.2深度學習語言與工具 1.3TensorFlow的優勢 1.4TensorFlow的安裝與環境配置 1.4.1Windows下配置GPU版TensorFlow 1.4.2Linux下配置GPU版TensorFlow 1.4.3直接通過Anaconda解決環境依賴 1.4.4安裝CPU版本的TensorFlow 1.5小結 第2章常用的Python數據處理工具 2.1NumPy的使用 2.1.1NumPy中的數據類型 2.1.2NumPy中數組的使用 2.2Matplotlib的使用 2.2.1Matplotlib中的相關概念 2.2.2使用Matplotlib繪圖 2.3Pandas的使用 2.3.1Pandas中的數據結構 2.3.2使用Pandas讀取數據 2.3.3使用Pandas處理數據 2.4SciPy的使用 2.4.1使用SciPy寫入mat文件 2.4.2使用SciPy讀取mat文件 2.5scikitlearn的使用 2.5.1scikitlearn的使用框架 2.5.2使用scikitlearn進行回歸 2.5.3使用scikitlearn進行分類 2.6Pillow的使用 2.6.1使用Pillow讀取并顯示圖像 2.6.2使用Pillow處理圖像 2.7OpenCV的使用 2.7.1使用OpenCV讀取與顯示圖像 2.7.2使用OpenCV處理圖像 2.8argparse的使用 2.8.1argparse的使用框架 2.8.2使用argparse解析命令行參數 2.9JSON的使用 2.9.1使用JSON寫入數據 2.9.2使用JSON讀取數據 2.10小結 第3章TensorFlow基礎 3.1TensorFlow的基本原理 3.2TensorFlow中的計算圖與會話機制 3.2.1計算圖 3.2.2會話機制 3.3TensorFlow中的張量表示 3.3.1tf.constant 3.3.2tf.Variable 3.3.3tf.placeholder 3.4TensorFlow中的數據類型 3.5TensorFlow中的命名空間 3.5.1tf.get_variable 3.5.2tf.name_scope 3.5.3tf.variable_scope 3.6TensorFlow中的控制流 3.6.1TensorFlow中的分支結構 3.6.2TensorFlow中的循環結構 3.6.3TensorFlow中指定節點執行順序 3.7TensorFlow模型的輸入與輸出 3.8TensorFlow的模型持久化 3.8.1模型的保存 3.8.2模型的讀取 3.9使用TensorBoard進行結果可視化 3.9.1計算圖的可視化 3.9.2矢量變化的可視化 3.9.3圖像的可視化 3.10小結 第4章深度學習的基本概念(108min) 4.1深度學習相較于傳統方法的優勢 4.2深度學習中的激活函數 4.2.1Sigmoid 4.2.2Softmax 4.2.3Tanh 4.2.4ReLU 4.2.5LeakyReLU 4.2.6PReLU 4.2.7RReLU 4.2.8ReLU6 4.2.9ELU 4.2.10Swish 4.2.11Mish 4.3深度學習中的損失函數 4.3.1回歸任務 4.3.2分類任務 4.4深度學習中的歸一化/標準化方法 4.4.1歸一化方法 4.4.2標準化方法 4.5深度學習中的優化器 4.5.1不帶動量的優化器 4.5.2帶動量的優化器 4.6深度學習中的技巧 4.6.1輸入數據的處理 4.6.2激活函數的選擇 4.6.3損失函數的選擇 4.6.4標準化方法的選擇 4.6.5batch_size的選擇 4.6.6優化器的選擇 4.6.7學習率的選擇 4.7小結 第5章常用數據集及其使用方式 5.1IRIS鳶尾花數據集 5.2MNIST手寫數字數據集 5.3SVHN數據集 5.4CIFAR10與CIFAR100數據集 5.4.1CIFAR10 5.4.2CIFAR100 5.4.3對圖像進行數據增強 5.5OxfordFlower數據集 5.6ImageNet數據集 5.7小結 第6章全連接神經網絡 6.1什么是全連接神經網絡 6.1.1感知機 6.1.2全連接神經網絡 6.2使用全連接神經網絡進行回歸 6.3使用全連接神經網絡進行分類 6.4使用全連接神經網絡對數據降維 6.5使用全連接神經網絡完成手寫數字識別 6.5.1訓練模型 6.5.2保存權重 6.5.3交互接收用戶輸入 6.5.4加載權重并預測 6.6小結 第7章卷積神經網絡(77min) 7.1什么是卷積 7.1.1卷積的概念 7.1.2卷積操作的參數 7.1.3卷積的計算方式 7.2卷積神經網絡中常用的層 7.2.1輸入層 7.2.2卷積層 7.2.3激活層 7.2.4標準化層 7.2.5池化層 7.2.6全連接層 7.3常用的卷積神經網絡結構 7.3.1VGGNet 7.3.2Inception 7.3.3ResNet 7.3.4DenseNet 7.3.5ResNeXt 7.3.6MobileNet 7.3.7DualPathNetwork 7.3.8SENet 7.3.9SKNet 7.3.10ResNeSt 7.4使用卷積神經網絡完成圖像分類 7.4.1定義命令行參數 7.4.2模型訓練函數 7.4.3模型測試函數 7.4.4主函數 7.4.5訓練模型識別手寫數字 7.4.6訓練模型識別自然場景圖像 7.5卷積神經網絡究竟學到了什么 7.5.1卷積核的可視化 7.5.2類激活映射的可視化 7.5.3卷積神經網絡輸出預測值的可視化 7.6使用卷積神經網絡給全連接神經網絡傳授知識 7.7轉置卷積層 7.7.1什么是轉置卷積層 7.7.2使用轉置卷積層讓圖像變得清晰 7.7.3使用轉置卷積層給圖像上色 7.8使用卷積層與反卷積層做自編碼器 7.9小結 第8章生成式模型 8.1什么是生成式模型 8.2變分自編碼器 8.2.1什么是變分自編碼器 8.2.2使用變分自編碼器生成手寫數字 8.2.3使用變分自編碼器生成指定的數字 8.3生成式對抗網絡 8.3.1什么是生成式對抗網絡 8.3.2使用生成式對抗網絡生成手寫數字 8.3.3使用生成式對抗網絡生成指定的數字 8.3.4使用生成式對抗網絡生成自然圖像 8.3.5使用生成式對抗網絡進行圖像域轉換 8.4小結 本書以Python數據處理工具和深度學習的基本原理為切入點,由淺入深介紹TensorFlow的使用方法。由原理著手到代碼實踐,內容從最基本的回歸問題開始,到近年來大熱的卷積神經網絡和生成式模型。本書省去大量煩瑣的數學推導,以通俗易懂的語言和示例闡述深度學習的原理。
本書共8章,第1和2章介紹TensorFlow的環境搭建與Python基本數據處理工具,為后面介紹TensorFlow做準備;第3~5章講解TensorFlow和深度學習中的基本概念及深度學習常用數據集;第6~8章從易到難深入講解不同的神經網絡模型并配合大量的示例,進一步鞏固TensorFlow代碼的使用。本書配有整套代碼,在重點、難點處配有講解視頻,讀者可以根據自身興趣與需求對代碼進行修改并通過視頻對難以理解的知識點進行鞏固。 本書的難度、層次清晰,適合任何希望入門人工智能領域的學生或工作者閱讀,同時也包含新的技術,適于想要緊跟視覺研究的從業人員閱讀。 人工智能的概念早在20世紀被提出,其屬于計算機科學的一個分支。但是受限于當時有限的計算資源,人工智能一直未能展現其巨大的威力。進入21世紀后,隨著數據量的爆炸式增長與計算資源的普遍化,人工智能得到了充分的發展,并且得到了實驗的支撐。它從最初試圖模擬人類大腦神經元激活的方式使機器模型學習知識并產生類似人類思考的智能。
人工智能從創造之始到現在,理論和技術逐漸成熟,應用的領域也不斷擴大,從計算機視覺任務、自然語言處理任務、語音識別任務到推薦算法都有人工智能算法的應用。人工智能是一門極具挑戰與前景的科學,從事與人工智能相關工作的人員需要必備數學知識、計算機知識與神經科學知識,屬于多學科交叉融合的科學。在如今近乎全民人工智能的時代,無論是在校學生還是已步入職場的工作者,了解一些人工智能的基本知識與算法對人生都有極大的幫助。 隨著人工智能的廣泛流行,各大互聯網巨頭都著手開發相應的深度學習框架,國外如谷歌的TensorFlow、臉書的PyTorch等,國內則有百度的PaddlePaddle等,其中各大深度學習框架都各有優勢,它們對于能實現的模型結構也各有偏好,想要完全掌握各種深度學習模型,僅僅掌握一種深度學習框架是完全不夠的。作為入門的深度學習框架,TensorFlow不失為一種好的框架,其具有清晰的邏輯層次、方便的可視化工具、完整的社區,在幫助讀者理解模型細節的同時方便讀者查閱相關資料自行學習更多知識。 本書面向所有想了解與人工智能相關知識的讀者,無論是零基礎或是具有一定基礎的學生或工作者都適用。本書以TensorFlow為深度學習框架,主要講解計算機視覺任務中相關的知識。TensorFlow目前已更新至2.x版,其語法與更易用的Keras相近,與TensorFlow 1.x的代碼寫法差異較大。本書所采用的TensorFlow版本為1.14.0,是TensorFlow 1.x中的最后一個版本,選用該版本主要有以下兩點考慮: 第一,由于TensorFlow 1.x提供的API函數更加底層,因此在編寫代碼時能夠讓讀者涉及更多的底層實現細節,方便讀者對原理加深理解; 第二,TensorFlow 1.14.0兼具TensorFlow 1.x與TensorFlow 2.x的特性,對于以后想遷移到TensorFlow 2.x的讀者更為友好。 第1和2章主要為零基礎的讀者設計,第1章引導讀者在不同的操作系統下以不同的方式配置TensorFlow所需的編程環境; 第2章為讀者介紹一些常用的Python編程工具包,這些工具不僅在之后的章節中會用到,在讀者平時進行Python編程的過程中也十分有幫助; 第3章為對TensorFlow不熟悉的讀者設計,對TensorFlow中的一些主要概念進行了介紹,例如如何使用TensorFlow編寫網絡模型的輸入層,如何使用TensorFlow定義網絡結構并將其使用TensorBoard進行可視化等; 第4章的內容更加偏重理論性,從零開始介紹深度學習中的一些重要概念,包括不同任務適用的激活函數、損失函數、優化器等,同時介紹了深度學習任務中訓練模型的技巧與參數的選擇,相信通過這些技巧,讀者能夠更快使模型收斂,達到自己想要的效果; 第5章則重點講解深度學習任務中常使用的數據集,從較小的規則數據集到數據量巨大并且圖像不規則的數據集均有涉獵,讀者應著重關注圖像不規則的數據集的使用方法,因為這更接近于日常人們四處收集到的圖像,除此以外,還著重介紹了如何從頭設計數據集類,包括不同格式圖像數據的讀取與獲取等。第6~8章深入講解深度學習模型,將前5章介紹的知識與代碼進行整合,以完成從數據準備到使用模型進行預測的整個過程。第6章從最簡單的全連接神經網絡開始,使用其完成回歸與分類任務,帶領讀者初步感受神經網絡的魅力; 第7章在全連接神經網絡的基礎上,加入卷積層與轉置卷積層,介紹卷積神經網絡,以及使用不同的卷積神經網絡模型完成了部分數據集的識別任務,同時還向讀者呈現了一些神經網絡模型比較有趣的應用,如使圖像更清晰、為黑白圖像上色等; 第8章在卷積神經網絡的基礎上使用不同的理論假設,使模型完成圖像生成的任務,通過對兩種經典生成式模型的介紹,相信讀者能對神經網絡模型的應用場景多一層理解。 本書的內容十分連貫,每個章節的內容都會使用到前面章節講解過的知識,旨在最大限度保證讀者學習的連貫性,同時本書將晦澀難懂的數學公式減到最少,盡力以圖示的方式促進讀者理解,本書部分彩圖請見插頁。相信讀者讀完本書后會對計算機視覺相關任務有一個更清晰的理解,希望本書能成為每一位讀者打開深度學習與TensorFlow的金鑰匙。 編者2021年1月 本書源代碼下載 |