🚀 路徑視覺變換器(Pathway Vision Transformer)
PaViT 是由 Ajibola Emmanuel Oluwaseun 開發的基於路徑視覺變換器(PaViT)的圖像識別模型。該模型受谷歌的 PaLM(路徑語言模型)啟發,旨在展示少樣本學習技術在圖像識別任務中的潛力。
🚀 快速開始
安裝依賴
!pip install huggingface_hub["tensorflow"]
import matplotlib.pyplot as plt
import cv2
from huggingface_hub import from_pretrained_keras
推理示例
model=from_pretrained_keras('Ajibola/PaViT')
image=cv2.imread('image_path')
image=cv2.resize(image, (224, 224))
image=image/image.max()
prediction=model.predict(image)
prediction=np.argmax(prediction, axis=-1)
✨ 主要特性
- 受谷歌 PaLM 啟發,探索少樣本學習技術在圖像識別中的應用。
- 在 CPU 上訓練速度快,即使使用相對較小的數據集也能取得出色的性能。
📦 安裝指南
使用以下命令安裝所需依賴:
!pip install huggingface_hub["tensorflow"]
💻 使用示例
基礎用法
!pip install huggingface_hub["tensorflow"]
import matplotlib.pyplot as plt
import cv2
from huggingface_hub import from_pretrained_keras
model=from_pretrained_keras('Ajibola/PaViT')
image=cv2.imread('image_path')
image=cv2.resize(image, (224, 224))
image=image/image.max()
prediction=model.predict(image)
prediction=np.argmax(prediction, axis=-1)
高級用法
可以修改代碼以使用自定義數據集,並通過添加更多自注意力頭和線性層來進一步提高模型的性能。
📚 詳細文檔
模型性能
PaViT 在配備 4GB 內存的 CPU 上使用包含 15 個類別的 15000 張 Kaggle 圖像數據集進行訓練。使用 4 個自注意力頭時,模型達到了驚人的 88% 準確率。當使用 12 個自注意力頭和 12 個線性堆疊的線性層進行訓練時,模型的準確率進一步提高到 96%。這些結果表明,儘管在相對較小的數據集上進行訓練,但該模型在 CPU 上仍具有出色的性能和快速的訓練速度。
上傳的權重是在包含 3 個類(貓、狗和野生動物)的圖像數據集上訓練得到的。
貢獻
作者認為 PaViT 有潛力超越現有的視覺變換器模型,並期待通過開發者和其他貢獻者的努力使其不斷發展。歡迎通過拉取請求為項目做出貢獻。開發者也可以報告問題或為項目提出新功能建議。
📄 許可證
本項目採用 MIT 許可證。