TensorFlow vs. PyTorch:深度學習框架與硬體加速技術

更新於 發佈於 閱讀時間約 5 分鐘

上一篇講理論跟數學,真的是很難連結到實際的運用。

在訓練深度學習模型時,選擇合適的開發框架硬體加速技術可以大幅提升效率。這篇先快速介紹 TensorFlowPyTorch,並說明 CPU、GPU、CUDA 如何影響運算效能。下一篇會實作 PyTorch。

參考影片:TensorFlow in 100 Seconds

CUDA Simply Explained - GPU vs CPU Parallel Computing for Beginners

PyTorch in 100 Seconds


🏗️ TensorFlow 簡介

TensorFlow 由 Google 開發,是目前最受歡迎的深度學習框架之一,擁有完整的生態系統。

📌 特色

  • 處理多維度的資料(Tensor 是一種多維的向量或矩陣(multi-dimensional arrays))
  • 靜態計算圖(Graph-Based Execution):讓模型可以優化計算並進行分布式訓練。
  • Keras API:內建 Keras,提供直覺的高層 API,適合初學者。
  • 跨平台:可運行於手機(TensorFlow Lite)、瀏覽器(TensorFlow.js)、雲端(TPU 支援)。

📌 適合的應用場景

  • 大規模模型(如 BERT、GPT),適合企業應用和雲端部署。
  • Spotify 推薦音樂、醫療使用看核磁共振的疾病報告分析、自動駕駛。
  • 需要 TensorFlow Serving 部署的應用,如 AI 服務或 API。

🔥 PyTorch 簡介

PyTorch 由 Meta(前 Facebook)開發,近年來成為研究領域的主流框架,因為它更靈活且易於除錯

📌 特色

  • 動態計算圖(Eager Execution):允許即時運行並方便除錯,類似 Python 的風格。
  • TorchScript:能將動態圖轉為靜態圖,提升執行效率。
  • 支援自動微分(Autograd):大幅簡化反向傳播的實作。

📌 適合的應用場景

  • 學術研究、原型開發:動態計算圖讓研究人員更快實驗新架構。
  • 電腦視覺、自然語言處理:很多 SOTA(State-of-the-Art)模型都使用 PyTorch。

👉 簡單來說TensorFlow 適合企業級部署,而 PyTorch 更適合研究與開發!


來玩玩看

  1. 到官網安裝

https://pytorch.org/

在 cmd 命令提示元貼上安裝的指令 (我沒有cuda,先用CPU裝)

raw-image
raw-image

手寫數字辨識(MNIST)

  • MNIST 資料集 包含 0 到 9 共 10 種手寫數字,每個影像為 28x28 像素 的灰階圖片。
  • 我們將使用 多層感知機(MLP) 來訓練模型。
  • 訓練完成後,我們可以用這個模型來辨識手寫數字!

原本想要自己玩玩看,示範給讀者們,結果我的筆電電腦滿溢進入死當的狀態嗚嗚嗚


CPU、GPU、CUDA:運算硬體的影響

在訓練神經網路時,選擇合適的硬體可以大幅提升效能。

🖥️ CPU(中央處理器)

  • 適合小型模型推論(Inference),但對大規模訓練較慢。
  • 一般用來處理 資料預處理、輕量級推論 等任務。

🎮 GPU(圖形處理器)

  • 專門處理矩陣運算,適合深度學習訓練
  • 多核心運算能同時計算數千個參數,大幅加快訓練速度。
  • NVIDIA GPU + CUDA 是目前深度學習的標準配置。

⚙️ CUDA(NVIDIA 平行計算架構)讓GPU 處理AI工作

  • CUDA(Compute Unified Device Architecture) 是 NVIDIA 開發的平行運算框架,讓 GPU 能夠處理 AI 工作負載。
  • 可以在 GPU 跟 CPU之間轉換
  • 提供大規模平行運算,速度比 CPU 快數十倍

👉 CPU 通常只有 8~16 個核心,但 GPU幾千個 CUDA 核心(CUDA Cores),可以同時運算大量矩陣數據。

👉 在訓練深度學習模型時,GPU 可以同時計算多個神經元的權重更新,大幅加速計算過程。

  • PyTorch 與 TensorFlow 都支援 CUDA,可透過 torch.cuda.is_available()tf.config.list_physical_devices('GPU') 來檢查 GPU 是否啟用。

NVIDIA 最新的 GPU(如 RTX 30/40 系列、A100、H100) 內建 Tensor Cores,專門為 AI 訓練優化,可進一步提升運算速度。

官網連結

📌 簡單總結:

  • CPU:適合輕量級推論與資料處理。
  • GPU:適合大規模訓練,可透過 CUDA 加速計算。
  • CUDA:NVIDIA 的 GPU 加速技術,幾乎是 AI 訓練的標準配備!

🎯 總結

  • TensorFlow 適合企業應用與部署,PyTorch 更靈活、適合研究。
  • 訓練模型時,GPU + CUDA 會比 CPU 更快,尤其是大規模數據與深度神經網路
  • 想要訓練高效能模型,建議使用NVIDIA GPU 並確保 CUDA 已啟用!

👉 你的電腦有支援 GPU 嗎?可以試著檢查一下 CUDA 是否開啟!😉

留言
avatar-img
留言分享你的想法!
avatar-img
越南放大鏡 X 下班資工系
14會員
61內容數
雙重身份:越南放大鏡 X 下班資工系 政大東南亞語言學系是我接觸越南語的起點,畢業後找越南外派工作的生活跟資訊時,發現幾乎都是清單式的分享,很難身歷其境。所以我希望「越南放大鏡」可以帶讀者看到更多細節和深入的觀察。 - 下班資工系則是自學資工系的課程內容,記錄實際操作的過程,學習理論的過程。希望可以跟讀者一起成長。
2025/04/24
本系列文章將循序漸進地介紹 JavaScript 的核心概念,從基礎語法到進階應用,例如非同步程式設計和 React 基礎。內容淺顯易懂,並使用生活化的比喻幫助讀者理解,搭配程式碼範例,適合 JavaScript 初學者學習。
Thumbnail
2025/04/24
本系列文章將循序漸進地介紹 JavaScript 的核心概念,從基礎語法到進階應用,例如非同步程式設計和 React 基礎。內容淺顯易懂,並使用生活化的比喻幫助讀者理解,搭配程式碼範例,適合 JavaScript 初學者學習。
Thumbnail
2025/04/21
本文介紹行動通訊網路的演進歷史,從1G到5G,並說明ITU與3GPP在制定通訊規格上的重要角色,以及5G的三大關鍵應用場景:URLLC、eMBB和mMTC。
Thumbnail
2025/04/21
本文介紹行動通訊網路的演進歷史,從1G到5G,並說明ITU與3GPP在制定通訊規格上的重要角色,以及5G的三大關鍵應用場景:URLLC、eMBB和mMTC。
Thumbnail
2025/04/11
這篇文章說明網路的七層模型、IP 位址、通訊埠、TCP/UDP 協定、HTTP 協定、HTTP 狀態碼以及 WebSocket,並解釋它們之間的關係與互動方式。文中包含許多圖表和範例,幫助讀者理解這些網路概念。
Thumbnail
2025/04/11
這篇文章說明網路的七層模型、IP 位址、通訊埠、TCP/UDP 協定、HTTP 協定、HTTP 狀態碼以及 WebSocket,並解釋它們之間的關係與互動方式。文中包含許多圖表和範例,幫助讀者理解這些網路概念。
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
介紹朋友新開的蝦皮選物店『10樓2選物店』,並分享方格子與蝦皮合作的分潤計畫,註冊流程簡單,0成本、無綁約,推薦給想增加收入的讀者。
Thumbnail
介紹朋友新開的蝦皮選物店『10樓2選物店』,並分享方格子與蝦皮合作的分潤計畫,註冊流程簡單,0成本、無綁約,推薦給想增加收入的讀者。
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 我們已經在 AI說書 - 從0開始 - 114 建立了 Transformer 模型。 現在我們來載入預訓練權重,預訓練的權重包含 Transformer 的智慧
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 我們已經在 AI說書 - 從0開始 - 114 建立了 Transformer 模型。 現在我們來載入預訓練權重,預訓練的權重包含 Transformer 的智慧
Thumbnail
本篇文章介紹如何使用PyTorch構建和訓練圖神經網絡(GNN),並使用Cora資料集進行節點分類任務。通過模型架構的逐步優化,包括引入批量標準化和獨立的消息傳遞層,調整Dropout和聚合函數,顯著提高了模型的分類準確率。實驗結果表明,經過優化的GNN模型在處理圖結構數據具有強大的性能和應用潛力。
Thumbnail
本篇文章介紹如何使用PyTorch構建和訓練圖神經網絡(GNN),並使用Cora資料集進行節點分類任務。通過模型架構的逐步優化,包括引入批量標準化和獨立的消息傳遞層,調整Dropout和聚合函數,顯著提高了模型的分類準確率。實驗結果表明,經過優化的GNN模型在處理圖結構數據具有強大的性能和應用潛力。
Thumbnail
本文參考TensorFlow官網Deep Convolutional Generative Adversarial Network的程式碼來加以實作說明。 示範如何使用深度卷積生成對抗網路(DCGAN) 生成手寫數位影像。
Thumbnail
本文參考TensorFlow官網Deep Convolutional Generative Adversarial Network的程式碼來加以實作說明。 示範如何使用深度卷積生成對抗網路(DCGAN) 生成手寫數位影像。
Thumbnail
延續上一篇訓練GAM模型,這次我們讓神經網路更多層更複雜一點,來看訓練生成的圖片是否效果會更好。 [深度學習][Python]訓練MLP的GAN模型來生成圖片_訓練篇 資料集分割處理的部分在延續上篇文章,從第五點開始後修改即可,前面都一樣 訓練過程,比較圖 是不是CNN的效果比MLP還要好,
Thumbnail
延續上一篇訓練GAM模型,這次我們讓神經網路更多層更複雜一點,來看訓練生成的圖片是否效果會更好。 [深度學習][Python]訓練MLP的GAN模型來生成圖片_訓練篇 資料集分割處理的部分在延續上篇文章,從第五點開始後修改即可,前面都一樣 訓練過程,比較圖 是不是CNN的效果比MLP還要好,
Thumbnail
本文主要介紹,如何利用GAN生成對抗網路來訓練生成圖片。 利用tensorflow,中的keras來建立生成器及鑑別器互相競爭訓練,最後利用訓練好的生成器來生成圖片。 GAN生成對抗網路的介紹 它由生成網路(Generator Network)和鑑別網路(Discriminator Netwo
Thumbnail
本文主要介紹,如何利用GAN生成對抗網路來訓練生成圖片。 利用tensorflow,中的keras來建立生成器及鑑別器互相競爭訓練,最後利用訓練好的生成器來生成圖片。 GAN生成對抗網路的介紹 它由生成網路(Generator Network)和鑑別網路(Discriminator Netwo
Thumbnail
透過這篇文章,我們將瞭解如何使用PyTorch實作圖神經網絡中的訊息傳遞機制,從定義消息傳遞的類別到實作消息傳遞過程。我們也探討了各種不同的消息傳遞機制,並通過對單次和多次傳遞過程的結果,可以看到節點特徵如何逐步傳遞與更新。
Thumbnail
透過這篇文章,我們將瞭解如何使用PyTorch實作圖神經網絡中的訊息傳遞機制,從定義消息傳遞的類別到實作消息傳遞過程。我們也探討了各種不同的消息傳遞機制,並通過對單次和多次傳遞過程的結果,可以看到節點特徵如何逐步傳遞與更新。
Thumbnail
本文主要筆記使用pytorch建立graph的幾個概念與實作。在傳統的神經網路模型中,數據點之間往往是互相連接和影響的,使用GNN,我們不僅處理單獨的數據點或Xb,而是處理一個包含多個數據點和它們之間連結的特徵。GNN的優勢在於其能夠將這些連結關係納入模型中,將關係本身作為特徵進行學習。
Thumbnail
本文主要筆記使用pytorch建立graph的幾個概念與實作。在傳統的神經網路模型中,數據點之間往往是互相連接和影響的,使用GNN,我們不僅處理單獨的數據點或Xb,而是處理一個包含多個數據點和它們之間連結的特徵。GNN的優勢在於其能夠將這些連結關係納入模型中,將關係本身作為特徵進行學習。
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 76 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 76 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 75 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 75 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformers for Natural Language Processing and Computer Vision, 2024 這本書中講 Attenti
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformers for Natural Language Processing and Computer Vision, 2024 這本書中講 Attenti
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News