2022年4月13日 星期三

好用的 Pytorch

今天找到下面這篇文章 :


原來 Colab 上已經安裝好 PyTorch 可以直接用, 真是太方便了! 兩三年前曾在 Win10 與樹莓派上安裝過 PyTorch, 似乎安裝過程有點不太順利 (應該是樹莓派), 用 Colab 就不用管安裝問題了 (樹莓派顯卡不是 NVidia 系列, 所以裝 PyTorch 好像也不能發揮 GPU 優勢?). 

過去兩年買了三本 PyTorch 的書都沒時間看, 一方面也是因為我想把 TensorFlow 學得更熟練後再學 PyTorch, 一拖就過了兩年了. 最近發現幾本好書都使用 PyTorch (例如 Hugging Face 的 Transformer), 讓我覺得似乎不需要等, 很多事情不必堅持要用 Sequential(), 其實是可以平行的. 

以下摘要其中關於 PyTorch 的描述 : 

PyTorch 是甚麼?
  1. 由臉書 AI 實驗室團隊開發之開放原始碼機器學習框架.
  2. 源自用 Lua 語言寫的 Torch 框架.
  3. 底層使用 C++ 實作.    
PyTorch 的特色 : 
  1. 其運算單位為類似 Numpy ndarray 的 Torch 張量, 但 ndarry 無法利用 GPU 的平行運算優勢, 而 PyTorch 的張量則可以, 且許多指令與 Numpy 相同, 學習不費力.
  2. 內建建構深度學習網路的自動微分器. 
  3. 支援 NVidia 的 CUDA 函式庫.
  4. 比 TensorFlow 寫法更有 Python 風格 (不過新的 TensorFlow 2 也很 Pythonic 了).  
雖然 TensorFlow 通常是機器學習實作者必學的框架, 但是著名的 AI 教學課程網站 fast.ai 曾在 2017 年聲明拋棄原本的 TensorFlow + Keras 架構, 轉而擁抱 PyTorch, 理由是在當時的 Keras 裡面沒有 Attention 模型, 而用 PyTorch 的動態計算圖則很容易實現. 不過現在 tensorflow.keras 有 Attention 啦, 參考 :


沒有留言 :