C# 也能完整 AI - TensorFlow.NET 實戰現場

仇華、陳海平 著

買這商品的人也買了...

商品描述

在最熟悉的作業系統、IDE中,用Tensorflow開發深度學習專案★

使用Tensorflow.NETVisual Studio下完成AI開發☆

 

坊間幾乎所有和AI、深度學習、機器學習有關的書籍或教材,均是以Python及相對的框架進行開發,並且建議架設在Linux上。雖然這個環境非常適合進行AI專案的開發,但對於已經熟悉Visual Studio.NET架構的大部分Windows開發者來說,如果能使用Tensorflow的強大,再加上早就上手的.NET甚至是C#語言,學習曲線真的就只剩下深度學習,排除了LinuxPython的困難。

微軟在.NET平臺上引入機器學習,努力使機器學習技術跨越鴻溝,普及至大多數人手中。微軟的ML.NET旨在實現人工智慧的「民主化」,讓每個人都能使用並受益於人工智慧技術。在.NET生態中,人工智慧領域的SciSharp Stack團隊為TensorFlow提供了.NET Standard Binding,使得.NET開發人員可以使用C#在跨平臺的.NET Standard框架上開發、訓練和部署機器學習模型。他們還打造了TensorFlow.NET這個專屬於.NET開發人員的機器學習平臺,簡化了使用TensorFlow的過程。

本書即是針對這個族群的使用者,讓.NET眾多的使用者直接跨入AI的領域,在最親切的環境學習,一定會事半功倍。

 

本書為介紹TensorFlow.NET的詳細指南,共有23章。探討雲端運算、人工智慧、巨量資料和雲端原生應用對生活產生了深遠影響,之後說明機器學習.NET開發者的特點,在.NET生態中,SciSharp Stack的團隊,為TensorFlow提供了.NET Standard Binding,使.NET開發人員可以使用C#開發、訓練和部署機器學習模型。其中的產品就是TensorFlow.NET

書中包括資料型態與張量詳解、Eager Mode詳解、自動求導原理與應用、線性回歸實操、MNIST手寫字元分類邏輯回歸、tf.data資料集建立與前置處理、深度神經網路實踐、AutoGraph機制詳解,以及.NET Keras簡明教學等。最後一部分是生產應用與案例,包含CPUGPU環境下的TensorFlow.NET應用、工業生產環境應用案例、在C#下使用TensorFlow.NET訓練自己的資料集、視覺影像分類、視覺物件辨識、遷移學習應用、自然語言處理以及生成對抗網路等。其中還包含F#應用案例。

總體來說,這本書提供了一個全面的指南,旨在幫助.NET開發人員在機器學習領域探索和應用TensorFlow.NET,同時介紹了許多實用的範例和案例。

作者簡介

仇華

微軟全球最有價值專家(MVP)。

從事機器視覺和機器學習開發的工作14年,目前在TCL擔任資深軟體工程師。SciSharp Stack開源社區核心組成員,TensorFlow蘇州社區創辦者,多年來專注於圖像演算法和深度學習領域的研究,獲得Google深度學習開發者認證、微軟AIM人工智慧經理證書和蘇州市高級視覺工程師證書。

 

陳海平

微軟全球最有價值專家(MVP)。

從事軟體發展和系統架構設計的工作20年,目前在美國一家公司擔任首席軟體架構師。創辦SciSharp Stack開源社區,TensorFlow .NET創立和主要維護者,主要業餘時間都投入在開源社區的項目中。

目錄大綱

第一部分 TensorFlow.NET API入門

1 TensorFlow.NET 介紹

1.1 TensorFlow.NET 特性

1.2 TensorFlow.NET 開放原始碼函式庫結構

2 資料型態與張量詳解

2.1 資料型態

2.2 張量詳解

2.3 常數與變數

2.4 字串常見操作

2.5 基本張量操作

2.6 維度變換

2.7 合併分割

2.8 廣播機制

3 Eager Mode詳解

3.1 Eager Mode 說明

3.2 Eager Mode 比較

3.3 Eager Mode 數值運算

3.4 Eager Mode 張量降維運算

3.5 Eager Mode 矩陣運算

3.6 print tf.print 特性對比

4 自動求導原理與應用

4.1 機器學習中的求導

4.2 簡單函式求導

4.3 複雜函式求偏導

5 線性迴歸實作

5.1 線性迴歸問題

5.2 TensorFlow 下的線性迴歸

5.3 C# Python 的性能比較

6 MNIST手寫數字分類邏輯迴歸

6.1 經典的MNIST 手寫數字分類問題

6.2 邏輯迴歸程式實作

7 tf.data資料集建立與前置處理

7.1 tf.data 介紹

7.2 tf.data 資料集建立

7.3 tf.data 資料前置處理

7.4 tf.data 資料使用

8 深度神經網路實踐

8.1 深度神經網路介紹

8.2 TensorFlow.NET 程式實作1DNN with Eager

8.3 TensorFlow.NET Keras 模型架設的3 種方式

8.4 TensorFlow.NET 程式實作2DNN with Keras

9 AutoGraph機制詳解

9.1 AutoGraph 機制說明

9.2 AutoGraph 機制原理

9.3 AutoGraph 程式開發規範

第二部分 .NET Keras簡明教學

10 Keras簡介

10.1 Keras 特性

10.2 Keras 版本說明

11 模型與層

11.1 Keras 常用的模型與層

11.2 自訂層

11.3 自訂模型

11.4 模型常用API 概述

12 Keras常用API說明

12.1 回呼函式

12.2 資料集前置處理

12.3 最佳化器

12.4 損失函式

12.5 評估指標

13 Keras架設模型的3種方式

13.1 Sequential API 方式

13.2 Functional API 方式

13.3 自訂模型

14 Keras模型訓練

14.1 內建fit 訓練

14.2 自訂訓練

第三部分 生產應用與案例

15 CPUGPU環境下的TensorFlow.NET應用

15.1 CPU GPU 環境架設及安裝

15.2 TensorFlow.NET 的影像利器SharpCV

16 工業生產環境應用案例

16.1 工業機器視覺領域應用

16.2 工業時間序列預測領域應用

17 C#下使用TensorFlow.NET訓練自己的資料集

17.1 專案說明

17.2 模型介紹

17.3 資料集說明

17.4 程式說明

17.5 總結

18 視覺影像分類

18.1 卷積神經網路實現影像分類

18.2 卷積神經網路詳解

18.3 深入了解卷積神經網路

19 視覺物件辨識

19.1 視覺物件辨識原理簡述

19.2 YOLO v3 模型推理實踐

19.3 YOLO v3 模型訓練實踐

20 遷移學習應用

20.1 遷移學習原理簡述

20.2 Inception v3 網路

20.3 遷移學習程式實作

21 自然語言處理

21.1 自然語言處理簡述

21.2 詞向量

21.3 文字分類程式實作

22 生成對抗網路

22.1 生成對抗網路簡述

22.2 生成對抗網路實戰案例

23 F#應用案例

23.1 F# 簡明教學

23.2 F# 案例實踐

參考文獻