TensorFlow 和 Pytorch 是現今學界及業界使用最頻繁的 AI 框架。從數據資料的處理,模型的建構及訓練,到模型的布建及應用,它都提供了相當完備的支援。相較於 TensorFlow 和 Pytorch,2019 年發表的 JAX,似乎開闢了另外一條人工智慧框架之路。
「JAX 好好玩」這一系列的發文,希望能夠由淺入深,把 JAX 好好玩一遍。藉由實際的操作及練習,輔以文字的說明,讓讀者能夠快速的熟悉 JAX,知道它的優點和它不足的地方;也讓讀者能夠在自己的專案上適當的應用 JAX 提供的各種功能,而不致於對 JAX 有錯誤的期待。
再來看一個簡單的線性迴歸的範例 (colab 筆記本在此),以機器學習的方法,訓練一個一元一次方程式。 準備訓練資料 用 來生成所需的訓練資料。 Wtrue =...
JAX 官方文件中有一個很好的範例 (Training a Simple Neural Network, with PyTorch Data Loading)...
(本貼文所列出的程式碼,皆以 colab 筆記本方式執行,可由此下載 ) 如果一個函式,其「具有 class 類別型態」的輸入參數,我們可以用 jit 修飾它嗎...
(本貼文所列出的程式碼,皆以 colab 筆記本方式執行,可由此下載 ) 另外一個讓 class 型別和 jit (以及 JAX 其他 API) 相容的方法,是...
(本貼文所列出的程式碼,皆以 colab 筆記本方式執行,可由此下載 ) 在之前的貼文中,老頭介紹了如何用 JAX 設計並訓練簡單的 MLP 神經網路模型。然而...
這一個範例程式的目的,是給大家一個整體的概念,看看要設計及訓練一個 Flax 神經網路模型要做那些事情。老頭改寫了 Flax 官網文件上的 Getting St...
為了解說方便,讓範例程式的結構更完整,老頭寫了第二個範例程式(程式的 colab 檔由此下載),這個範例程式更完整的呈現了用 Flax 來設計、訓練、儲存及載入...
這篇貼文,乃是針對「第二個範例程式」中的「自訂模型」的部份,加以詳細的說明。 Flax 提供兩種方式來定義「使用者自訂模型」,一為「明確的 explict」宣告...
這篇貼文,乃是針對「第二個範例程式」中的「4. 輔助函式」及「5.1. 單一 batch 訓練函式」的部份,加以詳細的說明。 損失函式 Flax 建議的損失函式...
在更進一步「玩」JAX 之前,老頭想要回到我們對於 JAX 最初的疑問 – JAX 是什麼 ? 前面零零碎碎的 39 篇貼文,似乎有點見樹不見林,仍舊沒有辨法...