Repolode
lucidrains

lucidrains/vit-pytorch

基于 PyTorch 实现的 Vision Transformer(ViT)及多种变体,用于图像分类等视觉任务。

Star
25,550
Fork
3,497
未关闭 Issue
150
最近提交
8天前

这是什么?

vit-pytorch 是一个 Python 库,实现了 Vision Transformer,即把图像切分为 patch 后,只用一个 transformer 编码器完成图像分类。除原始模型外,仓库还收录了大量后续架构,包括 Simple ViT、NaViT、DeepViT、CaiT、CCT、CrossViT、MaxViT、MobileViT 和 XCiT 等,每种都可以通过简单导入并配置深度、头数和维度来使用。

库中还包含自监督与预训练模块,如 Masked Autoencoder(MAE)、SimMIM、掩码 patch 预测和 DINO,并支持把教师网络的知识蒸馏到 ViT 中。视频方向提供 3D ViT 和 ViViT,通过帧数和帧 patch 大小等参数处理时序数据。

这些代码适合作为基于 Transformer 的视觉模型的可读参考与实验基础。仓库提供的是模型结构实现,而非预训练权重。

核心功能

  • 01实现原始 Vision Transformer,可配置图像尺寸、patch 大小和层数。
  • 02提供 Simple ViT、DeepViT、CaiT、CCT、MaxViT、XCiT 等多种变体。
  • 03包含 MAE、SimMIM、掩码位置预测等掩码图像预训练模块。
  • 04支持将教师网络的知识蒸馏到 ViT 中。
  • 05通过 3D ViT、ViViT 和 3D CCT 处理视频输入。

适用场景

  • 在 PyTorch 中尝试用于图像分类的 Transformer 架构。
  • 研究不同 ViT 变体如何改变注意力与下采样设计。
  • 利用掩码自编码在无标注图像上预训练视觉 Transformer。
  • 基于分解的时空注意力快速搭建视频分类原型。

快速上手

  1. 1

    从 PyPI 安装该包

    pip install vit-pytorch
  2. 2

    导入 ViT,创建模型,并对随机图像执行一次前向推理

使用前须知

  • README 未提供预训练模型权重,你需要自行训练,或从外部仓库获取检查点。

标签

常见问题

vit-pytorch 是什么?
基于 PyTorch 实现的 Vision Transformer(ViT)及多种变体,用于图像分类等视觉任务。 vit-pytorch 是一个 Python 库,实现了 Vision Transformer,即把图像切分为 patch 后,只用一个 transformer 编码器完成图像分类。除原始模型外,仓库还收录了大量后续架构,包括 Simple ViT、NaViT、DeepViT、CaiT、CCT、CrossViT、MaxViT、MobileViT 和 XCiT 等,每种都可以通过简单导入并配置深度、头数和维度来使用。
vit-pytorch 可以免费使用吗?用的什么许可证?
vit-pytorch 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
vit-pytorch 还在维护吗?
活跃维护中。vit-pytorch 最近一次提交是在 2026年10月13日。
vit-pytorch 适合用来做什么?
在 PyTorch 中尝试用于图像分类的 Transformer 架构。 研究不同 ViT 变体如何改变注意力与下采样设计。 利用掩码自编码在无标注图像上预训练视觉 Transformer。 基于分解的时空注意力快速搭建视频分类原型。
vit-pytorch 怎么安装和运行?
从 PyPI 安装该包: pip install vit-pytorch 导入 ViT,创建模型,并对随机图像执行一次前向推理
在哪里获取 vit-pytorch?
源代码和安装说明在 GitHub 上:https://github.com/lucidrains/vit-pytorch

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目