lucidrains/vit-pytorch

Implementation of Vision Transformer, a simple way to achieve SOTA in vision classification with only a single transformer encoder, in Pytorch

解決的問題

本專案提供 Vision Transformer (ViT) 及其後續多種架構變體的完整 PyTorch 實作。讓研究人員與開發者能輕鬆整合使用 Transformer 編碼器而非傳統卷積神經網路的最尖端影像分類模型。

如何運作

此套件實作了核心 ViT 架構——將影像視為一連串的圖塊,由 Transformer 處理——並擴展至多種專用版本。這些變體包括訓練速度優化(Simple ViT)、處理可變影像解析度(NaViT)、從卷積網路進行知識蒸餾(DistillableViT),以及混合卷積與注意力的混合模型(CvT、LeViT)。

適用對象

專為從事電腦視覺任務的機器學習工程師與 AI 研究人員設計,特別適合希望在不從零實作的情況下,試驗不同基於 Transformer 的影像分類架構的使用者。

主要亮點

  • 豐富的變體程式庫:包含 NaViT、CaiT、CrossViT、PiT、LeViT、CvT、Twins SVT 等多種實作。
  • 彈性訓練支援:支援進階技術,如使用蒸餾令牌將知識從教師模型傳遞至學生模型。
  • 可變解析度支援:NaViT 實作支援將多種解析度的影像打包至單一批次中進行訓練。
  • SOTA 架構:實作現代改進技術,如 2D 正弦位置嵌入與全域平均池化。

相關

  • 專案
  • 專案
  • 專案
  • Dispatch
  • 專案