vocus logo

方格子 vocus

【深智書摘】同時搞定TensorFlow、PyTorch

更新 發佈閱讀 5 分鐘
raw-image

TensorFlow、PyTorch 是目前佔有率最高的深度學習框架,初學者常會問『應該選擇PyTorch或 TensorFlow套件』,依個人看法,PyTorch、TensorFlow好比倚天劍與屠龍刀,各有擅場,兩個套件的發展重點有所不同,例如在偵錯方面,PyTorch比較容易,但TensorFlow/Keras建模、訓練、預測都只要一行程式,另外,物件偵測主流演算法YOLO,第四版以TensorFlow開發,第五版則以PyTorch開發,若我們只懂TensorFlow,那就無法使用最新版了。

差異比較

PyTorch 認為兩個主要對手,『TensorFlow 1.x版把簡單的事情複雜化』,『Keras把複雜的事情太過簡化』,因而促使TensorFlow 2.x版依據Keras規格重新開發並納入TensorFlow中,現在Keras已變成TensorFlow最重要的模組。

而PyTorch特色如下:

1. Python First:PyTorch開發團隊認為Python及相關套件功能已經相當強大,不須另外發明輪子(Reinvent the wheel),直接與Python生態環境緊密結合。

2. 除錯容易:TensorFlow/Keras 提供 fit 一行指令即可進行模型訓練,雖然簡單,但不易偵錯(Debug),PyTorch須自行撰寫優化求解的程序,雖然繁瑣,但在過程中可插入任意的程式碼偵錯或查看預測結果、損失函數變化,不必等到模型訓練完成。

3. GPU 記憶體管理較佳,筆者使用GTX1050Ti,記憶體只有4GB 時,同時執行2個以TensorFlow 開發的Notebook 檔案時,常會發生記憶體不足的狀況,但使用PyTorch,即使3、4 個Notebook 檔案也沒有問題。

4. 程式可自行決定變數及模型要在 CPU 或 GPU 運算:雖然比較麻煩,但可優化記憶體的使用,TensorFlow則是自行偵測GPU,如果有。則預設會使用GPU運算,反之,會使用CPU。

另外,文件說明還是以TensorFlow/Keras較為詳盡,且較有系統性,PyTorch方面,筆者常須依靠谷大哥搜尋,這也是筆者撰寫PyTorch入門書籍的原因。

一致的學習路徑

雖然存在以上差異,PyTorch與TensorFlow基本設計概念是相通的,採用相同的approach,可以一併學會兩個套件。

梯度下降法是神經網路主要求解的方法,計算過程會使用張量 (Tensor) 運算,另外,在反向傳導的過程中,則要進行偏微分,計算梯度,如下圖:

raw-image

基於上述求解過程的需求,大多數的深度學習套件至少會具備下列功能:

1. 張量運算:包括各種向量、矩陣運算。

2. 自動微分 (Auto Differentiation):透過偏微分計算梯度。

3. 提供各種神經層 (Layers) 及神經網路 (Neural Network) 模型構建。

因此,學習的路徑可以從簡單的張量運算開始,再逐漸熟悉高階的神經層函數,以奠定扎實的基礎。

raw-image

在上述學習路徑中,我們會發現TensorFlow/PyTorch基本設計概念是一致的:

1. TensorFlow/PyTorch張量 (Tensor) 均與NumPy陣列相容,不論是資料結構或是運算,包括 Broadcasting 機制。

2. 自動微分、梯度下降也是如此,只是語法不同而已。

3. 都支援順序型 (Sequential)、Functional API模型。

4. 均建議使用 Dataset/Data Loader 作為模型的資料來源。

►更詳盡的範例程式說明可參閱『同時搞定TensorFlow、PyTorch』。

raw-image


本文節錄自深智數位出版之《開發者傳授 PyTorch 秘笈》。


留言
avatar-img
深智數位的沙龍
11會員
25內容數
深智數位的沙龍的其他內容
2023/08/02
在機器學習中,我們的目標是找到一種能夠最好地描述數據的模型。例如,在迴歸問題中,我們希望找到一種函數,該函數能以一種對我們的目標變數(例如:銷售量、股票價格等) 的最佳估計的方式,描述輸入特徵(例如:廣告支出、市場狀況等)。
Thumbnail
2023/08/02
在機器學習中,我們的目標是找到一種能夠最好地描述數據的模型。例如,在迴歸問題中,我們希望找到一種函數,該函數能以一種對我們的目標變數(例如:銷售量、股票價格等) 的最佳估計的方式,描述輸入特徵(例如:廣告支出、市場狀況等)。
Thumbnail
2023/07/21
  在程式設計中,變數(Variable)是一個代表內存位置的符號,用於存儲和操作數據。它是一個內存單元,可以存儲各種類型的數據,例如整數、浮點數、字符串等。變數的值可以在程式執行時改變,並在需要時被讀取。 變數是暫時存放資料用的,可以將變數想像成是一個箱子,箱子裡面可以是空的,
Thumbnail
2023/07/21
  在程式設計中,變數(Variable)是一個代表內存位置的符號,用於存儲和操作數據。它是一個內存單元,可以存儲各種類型的數據,例如整數、浮點數、字符串等。變數的值可以在程式執行時改變,並在需要時被讀取。 變數是暫時存放資料用的,可以將變數想像成是一個箱子,箱子裡面可以是空的,
Thumbnail
2023/05/17
新手在使用ChatGPT 時,對於ChatGPT的回答普遍印象是廢話連篇,而這通常是因為沒有給出足夠清晰的指示所導致,以下將介紹3個讓你跟ChatGPT溝通更有效的提示技巧,幫助讀者快速掌握提升回答品質的秘訣!
Thumbnail
2023/05/17
新手在使用ChatGPT 時,對於ChatGPT的回答普遍印象是廢話連篇,而這通常是因為沒有給出足夠清晰的指示所導致,以下將介紹3個讓你跟ChatGPT溝通更有效的提示技巧,幫助讀者快速掌握提升回答品質的秘訣!
Thumbnail
看更多
你可能也想看
Thumbnail
債券投資,不只是高資產族群的遊戲 在傳統的投資觀念中,海外債券(Overseas Bonds)常被貼上「高資產族群專屬」的標籤。過去動輒 1 萬甚至 10 萬美元的最低申購門檻,讓許多想尋求穩定配息的小資族望而卻步。 然而,在股市波動劇烈的環境下,尋求穩定的美元現金流與被動收入成為許多投資人
Thumbnail
債券投資,不只是高資產族群的遊戲 在傳統的投資觀念中,海外債券(Overseas Bonds)常被貼上「高資產族群專屬」的標籤。過去動輒 1 萬甚至 10 萬美元的最低申購門檻,讓許多想尋求穩定配息的小資族望而卻步。 然而,在股市波動劇烈的環境下,尋求穩定的美元現金流與被動收入成為許多投資人
Thumbnail
透過川普的近期債券交易揭露,探討債券作為資產配置中「穩定磐石」的重要性。文章分析降息對債券的潛在影響,以及股神巴菲特的操作策略。並介紹玉山證券「小額債」平臺,如何讓小資族也能低門檻參與海外債券市場,實現「低門檻、低波動、固定收益」的務實投資方式。
Thumbnail
透過川普的近期債券交易揭露,探討債券作為資產配置中「穩定磐石」的重要性。文章分析降息對債券的潛在影響,以及股神巴菲特的操作策略。並介紹玉山證券「小額債」平臺,如何讓小資族也能低門檻參與海外債券市場,實現「低門檻、低波動、固定收益」的務實投資方式。
Thumbnail
解析「債券」如何成為資產配置中的穩定錨,提供低風險高回報的投資選項。 藉由玉山證券的低門檻債券服務,投資者可輕鬆入手,平衡風險並穩定財務。
Thumbnail
解析「債券」如何成為資產配置中的穩定錨,提供低風險高回報的投資選項。 藉由玉山證券的低門檻債券服務,投資者可輕鬆入手,平衡風險並穩定財務。
Thumbnail
相較於波動較大的股票,債券能提供固定現金流,而玉山證券推出的小額債,更以1000 美元的低門檻,讓學生與新手也能參與全球優質企業債投資。玉山E-Trader平台即時報價、條件式篩選與清楚的交易流程等特色,大幅降低投資難度,對於希望分散風險、建立穩定現金流的人來說,玉山小額債是一個值得嘗試的理財起點。
Thumbnail
相較於波動較大的股票,債券能提供固定現金流,而玉山證券推出的小額債,更以1000 美元的低門檻,讓學生與新手也能參與全球優質企業債投資。玉山E-Trader平台即時報價、條件式篩選與清楚的交易流程等特色,大幅降低投資難度,對於希望分散風險、建立穩定現金流的人來說,玉山小額債是一個值得嘗試的理財起點。
Thumbnail
本文介紹深度學習框架TensorFlow和PyTorch,以及CPU、GPU、CUDA如何影響運算效能。TensorFlow適合企業應用和大型模型部署,PyTorch更靈活,適合研究和開發。GPU透過CUDA加速運算,大幅提升訓練速度,尤其在大規模數據和深度神經網路訓練時。
Thumbnail
本文介紹深度學習框架TensorFlow和PyTorch,以及CPU、GPU、CUDA如何影響運算效能。TensorFlow適合企業應用和大型模型部署,PyTorch更靈活,適合研究和開發。GPU透過CUDA加速運算,大幅提升訓練速度,尤其在大規模數據和深度神經網路訓練時。
Thumbnail
本文探討如何選擇適合的深度學習框架,比較TensorFlow、PyTorch和PaddlePaddle等主流框架的特色,並分析選擇框架時需考慮的因素,例如研究與應用的平衡、社群支持、多平臺與工具鏈整合,以及未來框架的挑戰與機遇。
Thumbnail
本文探討如何選擇適合的深度學習框架,比較TensorFlow、PyTorch和PaddlePaddle等主流框架的特色,並分析選擇框架時需考慮的因素,例如研究與應用的平衡、社群支持、多平臺與工具鏈整合,以及未來框架的挑戰與機遇。
Thumbnail
人工智慧(AI)是地球數字時代的重要一環,它塑造著我們的未來。如果您對AI充滿好奇,但不知道從何開始,這篇入門指南將為您提供一個堅實的基礎,幫助您踏上學習AI的旅程。 什麼是機器學習和深度學習? 機器學習是人工智能的一個子領域,它使機器能夠自動學習並提高其性能,而無需顯式編程。這意味著機器可以通
Thumbnail
人工智慧(AI)是地球數字時代的重要一環,它塑造著我們的未來。如果您對AI充滿好奇,但不知道從何開始,這篇入門指南將為您提供一個堅實的基礎,幫助您踏上學習AI的旅程。 什麼是機器學習和深度學習? 機器學習是人工智能的一個子領域,它使機器能夠自動學習並提高其性能,而無需顯式編程。這意味著機器可以通
Thumbnail
我們這個系列就是希望以非常科普的角度來解釋人工智慧。本篇要釐清人工智慧(AI: Artificial Intelligence),機器學習 Machine Learning, 深度學習Deep Learning,另外還有類神經網路,到底互相是什麼關係呢?
Thumbnail
我們這個系列就是希望以非常科普的角度來解釋人工智慧。本篇要釐清人工智慧(AI: Artificial Intelligence),機器學習 Machine Learning, 深度學習Deep Learning,另外還有類神經網路,到底互相是什麼關係呢?
Thumbnail
馬克•庫班(NBA獨行俠隊老闆,億萬富翁)說過:「人工智慧、深度學習和機器學習,不論你現在是否能夠理解這些概念,你都應該學習。否則三年內,你就會像被滅絕的恐龍一樣被社會淘汰。現在不開始,以後就來不及了。」
Thumbnail
馬克•庫班(NBA獨行俠隊老闆,億萬富翁)說過:「人工智慧、深度學習和機器學習,不論你現在是否能夠理解這些概念,你都應該學習。否則三年內,你就會像被滅絕的恐龍一樣被社會淘汰。現在不開始,以後就來不及了。」
Thumbnail
要徹底了解深度學習,必須從數學/統計奠定基礎,從張量運算、偏微分、梯度下降優化求解,最後依據機率統計衡量模的效能指標,包括準確率 (Accuracy)、精確率 (Precision)、召回率 (Recall),乃至於混淆矩陣 (Confusion Matrix)。
Thumbnail
要徹底了解深度學習,必須從數學/統計奠定基礎,從張量運算、偏微分、梯度下降優化求解,最後依據機率統計衡量模的效能指標,包括準確率 (Accuracy)、精確率 (Precision)、召回率 (Recall),乃至於混淆矩陣 (Confusion Matrix)。
Thumbnail
TensorFlow、PyTorch 是目前佔有率最高的深度學習框架,初學者常會問『應該選擇PyTorch或 TensorFlow套件』,依個人看法,PyTorch、TensorFlow好比倚天劍與屠龍刀,各有擅場,兩個套件的發展重點有所不同,例如在偵錯方面,PyTorch比較容易,但Tensor
Thumbnail
TensorFlow、PyTorch 是目前佔有率最高的深度學習框架,初學者常會問『應該選擇PyTorch或 TensorFlow套件』,依個人看法,PyTorch、TensorFlow好比倚天劍與屠龍刀,各有擅場,兩個套件的發展重點有所不同,例如在偵錯方面,PyTorch比較容易,但Tensor
Thumbnail
這篇文章從類神經網路的起源,也就是單神經元的感知器。簡單的感知器迭代演算法使單神經元可以學習,但卻無法學習超過非線性,如 XOR 的資料分布。另外,本文還介紹了 Logistic regression,藉由透過非線性轉換來使線性輸出近似於機率分佈。最後則以一場大師賭局結束(SVM vs NN)。
Thumbnail
這篇文章從類神經網路的起源,也就是單神經元的感知器。簡單的感知器迭代演算法使單神經元可以學習,但卻無法學習超過非線性,如 XOR 的資料分布。另外,本文還介紹了 Logistic regression,藉由透過非線性轉換來使線性輸出近似於機率分佈。最後則以一場大師賭局結束(SVM vs NN)。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News