連結:https://github.com/xenova/transformers.js/tree/v3
transformers.js 是一個JavaScript庫,旨在為網頁提供先進的機器學習能力。它允許使用者在瀏覽器中直接執行預訓練的Transformers模型,無需伺服器支援。該庫使用ONNX Runtime作為後端,支援將PyTorch、TensorFlow或JAX模型轉換為ONNX格式。transformers.js 與 Hugging Face 的 transformers Python 庫功能等價,提供相似的API,使得開發者能夠輕鬆地將現有程式碼遷移到網頁端。
需求人群:
- 目標受眾為希望在網頁應用中整合機器學習功能的開發者,特別是那些需要在使用者端進行模型推理以減少伺服器負載或處理隱私敏感資料的場景。
使用場景示例:
- 在網頁上實作實時語言翻譯功能。
- 透過瀏覽器進行影象內容的自動標註和分類。
- 開發一個支援語音到文本轉換的網頁應用程式。
產品特色:
- 支援多種自然語言處理任務,如文本分類、命名實體辨識、問答、語言模型、摘要、翻譯等。
- 支援電腦視覺任務,包括影象分類、目標偵測和分割。
- 支援音訊任務,如自動語音辨識和音訊分類。
- 支援多模態任務,如零樣本影象分類。
- 使用ONNX Runtime在瀏覽器中執行模型,易於將預訓練模型轉換為ONNX格式。
- 提供pipeline API,簡化模型的輸入預處理和輸出後處理。
使用教學:
安裝transformers.js庫,可以透過npm執行’npm install @xenova/transformers’。
引入庫到專案中,例如使用ES模組’import { pipeline } from ‘@xenova/transformers’;’。
選擇或配置所需的模型,可以透過pipeline函式指定模型ID或路徑。
使用pipeline API進行模型推理,傳入待處理的文本、影象或音訊資料。
處理模型輸出,獲取所需的結果,如文本分類的標籤和置信度。
根據應用場景,將結果展示給使用者或進一步處理。