PaddleViT

GitHub
1.2k 328 中等 1 次阅读 1周前Apache-2.0语言模型图像开发框架
AI 解读 由 AI 自动生成,仅供参考

PaddleViT 是百度飞桨(PaddlePaddle)生态中专注于视觉 Transformer 和 MLP 模型的开源工具箱。它突破了传统卷积神经网络的局限,汇集了包括 ViT、Visual Attention 及纯 MLP 架构在内的多种前沿视觉模型,旨在复现并优化计算机视觉领域的最先进成果。

该工具主要解决了开发者在尝试新型非卷积架构时面临的代码复现难、训练流程复杂以及缺乏统一框架等痛点。PaddleViT 不仅提供了图像分类、目标检测、语义分割及生成对抗网络(GAN)等多种任务的全套解决方案,还内置了数据增强、混合精度训练(AMP)和分布式训练(DDP)等高效工具,让用户能轻松加载预训练权重进行微调或直接开展科研实验。

PaddleViT 特别适合计算机视觉研究人员、算法工程师以及希望探索前沿技术的高校师生使用。其模块化设计使得模型定义清晰独立,便于快速修改以验证新想法;同时,统一的配置接口降低了使用门槛,让教育者和从业者都能直观上手。依托飞桨框架的强大支持,配合丰富的中文教程与在线课程,PaddleViT 致力于让尖端的视觉技术变得更易用、更普及。

使用场景

某电商公司的算法团队正致力于升级其商品图片自动分类系统,以应对日益增长的 SKU 数量和复杂的背景干扰。

没有 PaddleViT 时

  • 模型性能遭遇瓶颈:团队依赖传统的 CNN 架构(如 ResNet),在处理细粒度分类(如区分不同花纹的衬衫)时准确率难以突破,且对遮挡和光照变化敏感。
  • 复现前沿算法困难:想要尝试最新的 Vision Transformer (ViT) 技术,但需从零编写复杂的注意力机制代码,调试周期长且容易出错。
  • 训练效率低下:缺乏原生支持的高效分布式训练(DDP)和混合精度训练(AMP)配置,导致在大规模数据集上训练耗时数天,迭代速度缓慢。
  • 落地部署复杂:从实验代码到生产环境推理模型的转换过程繁琐,缺乏统一的导出工具,增加了工程化风险。

使用 PaddleViT 后

  • 识别精度显著提升:直接调用 PaddleViT 中预训练的 SOTA ViT 模型,利用其强大的全局建模能力,细粒度分类准确率提升了 15%,有效解决了复杂背景干扰问题。
  • 研发门槛大幅降低:通过模块化设计,团队仅需修改配置文件即可快速切换不同的 Transformer 变体进行实验,将新算法验证周期从周缩短至小时级。
  • 训练加速与资源优化:借助内置的 DDP 多卡并行和 AMP 混合精度训练功能,模型训练时间缩短了 60%,显著降低了算力成本。
  • 无缝对接生产环境:利用 PaddleViT 提供的模型导出工具,一键将训练好的模型转换为推理格式,平滑集成到现有的 PaddlePaddle 服务中,实现了快速上线。

PaddleViT 通过提供开箱即用的前沿视觉 Transformer 模型与高效训练工具,帮助团队打破了传统卷积网络的性能天花板,实现了从算法创新到生产落地的极速闭环。

运行环境要求

操作系统
  • 未说明
GPU

需要 GPU 以支持 DDP(分布式数据并行)和混合精度训练(AMP),具体型号、显存大小及 CUDA 版本未在文中明确说明,但需兼容 PaddlePaddle 2.1+ 的 GPU 环境

内存

未说明

依赖
notes该工具基于百度飞桨(PaddlePaddle)深度学习框架,而非 PyTorch。支持多卡分布式训练(DDP)和自动混合精度(AMP)。提供图像分类、目标检测、语义分割、GAN 等多种任务的模型。建议参考 Paddle AI Studio 上的教程入门,预训练权重可下载用于微调。
python未说明
PaddlePaddle>=2.1
PaddleViT hero image

快速开始

中文 | English

PaddlePaddle 视觉 Transformer

GitHub CodeFactor CLA assistant GitHub 仓库星级

面向 PaddlePaddle 的最先进视觉 Transformer 和 MLP 模型

:robot: PaddlePaddle 视觉 Transformer(PaddleViTPPViT)是一系列超越卷积的视觉模型集合。大多数模型基于视觉 Transformer、视觉注意力机制和 MLP 等技术。PaddleViT 还集成了流行的层、工具、优化器、学习率调度器、数据增强方法以及适用于 PaddlePaddle 2.1+ 的训练和验证脚本。我们的目标是复现各种最先进的 ViT 和 MLP 模型,并提供完整的训练和验证流程。我们致力于让前沿的计算机视觉技术更加易于使用,惠及每一位开发者。

:robot: PaddleViT 提供适用于多种视觉任务的模型和工具,例如图像分类、目标检测、语义分割、GAN 等。每个模型架构都定义在独立的 Python 模块中,可以方便地进行修改以支持快速的研究实验。同时,用户也可以下载预训练权重,并在自己的数据集上进行微调。此外,PaddleViT 还集成了用于自定义数据集、数据预处理、性能指标计算、分布式数据并行训练等的常用工具和模块。

:robot: PaddleViT 基于流行的深度学习框架 PaddlePaddle 构建,我们还在 Paddle AI Studio 上提供了教程和项目。对于新用户来说,入门非常直观且简单易懂。

快速链接

PaddleViT 实现了多种视觉任务的模型架构和工具,详情请访问以下链接:

我们还提供以下教程:

特点

  1. 最先进

    • 适用于多种计算机视觉任务的最先进 Transformer 模型
    • 最先进的数据处理和训练方法
    • 我们将持续推动技术进步。
  2. 易于使用的工具

    • 模型变体配置简单
    • 工具函数和模块化设计
    • 对教育工作者和从业者友好,门槛低
    • 所有模型采用统一框架
  3. 可根据需求轻松定制

    • 每个模型都提供示例,便于复现实验结果
    • 模型实现公开,方便用户自定义
    • 模型文件可独立使用,适合快速实验
  4. 高性能

    • 支持分布式数据并行训练和验证(每个进程运行在单个 GPU 上)
    • 支持混合精度训练(AMP)

模型架构

图像分类(Transformer)

  1. ViT(来自谷歌),随论文《一张图胜过16×16个词:大规模图像识别中的Transformer》(arXiv:2010.11929)发布,作者为Alexey Dosovitskiy、Lucas Beyer、Alexander Kolesnikov、Dirk Weissenborn、Xiaohua Zhai、Thomas Unterthiner、Mostafa Dehghani、Matthias Minderer、Georg Heigold、Sylvain Gelly、Jakob Uszkoreit、Neil Houlsby。

  2. DeiT(来自Facebook和索邦大学),随论文《数据高效训练的图像Transformer及基于注意力的蒸馏》(arXiv:2012.12877)发布,作者为Hugo Touvron、Matthieu Cord、Matthijs Douze、Francisco Massa、Alexandre Sablayrolles、Hervé Jégou。

  3. Swin Transformer(来自微软),随论文《Swin Transformer:使用移位窗口的层次化视觉Transformer》(arXiv:2103.14030)发布,作者为Ze Liu、Yutong Lin、Yue Cao、Han Hu、Yixuan Wei、Zheng Zhang、Stephen Lin、Baining Guo。

  4. VOLO(来自Sea AI Lab和新加坡国立大学),随论文《VOLO:用于视觉识别的Vision Outlooker》(arXiv:2106.13112)发布,作者为Li Yuan、Qibin Hou、Zihang Jiang、Jiashi Feng、Shuicheng Yan。

  5. CSwin Transformer(来自中国科学技术大学和微软),随论文《CSWin Transformer:一种具有十字形窗口的通用视觉Transformer骨干网络》(arXiv:2107.00652)发布,作者为Xiaoyi Dong、Jianmin Bao、Dongdong Chen、Weiming Zhang、Nenghai Yu、Lu Yuan、Dong Chen、Baining Guo。

  6. CaiT(来自Facebook和索邦大学),随论文《深入探索图像Transformer》(arXiv:2103.17239)发布,作者为Hugo Touvron、Matthieu Cord、Alexandre Sablayrolles、Gabriel Synnaeve、Hervé Jégou。

  7. PVTv2(来自南京大学、香港大学、北京理工大学、IIAI和商汤科技),随论文《PVTv2:基于金字塔视觉Transformer的改进基线》(arXiv:2106.13797)发布,作者为Wenhai Wang、Enze Xie、Xiang Li、Deng-Ping Fan、Kaitao Song、Ding Liang、Tong Lu、Ping Luo、Ling Shao。

  8. Shuffle Transformer(来自腾讯),随论文《Shuffle Transformer:重新思考视觉Transformer中的空间洗牌操作》(arXiv:2106.03650)发布,作者为Zilong Huang、Youcheng Ben、Guozhong Luo、Pei Cheng、Gang Yu、Bin Fu。

  9. T2T-ViT(来自新加坡国立大学和依图科技),随论文《Tokens-to-Token ViT:从头开始在ImageNet上训练视觉Transformer》(arXiv:2101.11986)发布,作者为Li Yuan、Yunpeng Chen、Tao Wang、Weihao Yu、Yujun Shi、Zihang Jiang、Francis EH Tay、Jiashi Feng、Shuicheng Yan。

  10. CrossViT(来自IBM),随论文《CrossViT:用于图像分类的跨注意力多尺度视觉Transformer》(arXiv:2103.14899)发布,作者为Chun-Fu Chen、Quanfu Fan、Rameswar Panda。

  11. BEiT(来自微软研究院),随论文《BEiT:图像Transformer的BERT预训练》(arXiv:2106.08254)发布,作者为Hangbo Bao、Li Dong、Furu Wei。

  12. Focal Transformer(来自微软),随论文《视觉Transformer中用于局部-全局交互的焦点自注意力》(arXiv:2107.00641)发布,作者为Jianwei Yang、Chunyuan Li、Pengchuan Zhang、Xiyang Dai、Bin Xiao、Lu Yuan和Jianfeng Gao。

  13. Mobile-ViT(来自苹果公司),随论文《MobileViT:轻量级、通用且适用于移动设备的视觉Transformer》(arXiv:2110.02178)发布,作者为Sachin Mehta、Mohammad Rastegari。

  14. ViP(来自新加坡国立大学),随论文《Vision Permutator:一种用于视觉识别的可置换MLP-like架构》(arXiv:2106.12368)发布,作者为Qibin Hou、Zihang Jiang、Li Yuan、Ming-Ming Cheng、Shuicheng Yan、Jiashi Feng。

  15. XCiT(来自Facebook、Inria和索邦大学),随论文《XCiT:交叉协方差图像Transformer》(arXiv:2106.09681)发布,作者为Alaaeldin El-Nouby、Hugo Touvron、Mathilde Caron、Piotr Bojanowski、Matthijs Douze、Armand Joulin、Ivan Laptev、Natalia Neverova、Gabriel Synnaeve、Jakob Verbeek、Hervé Jegou。

  16. PiT(来自NAVER和Sogan大学),随论文《重新思考视觉Transformer的空间维度》(arXiv:2103.16302)发布,作者为Byeongho Heo、Sangdoo Yun、Dongyoon Han、Sanghyuk Chun、Junsuk Choe、Seong Joon Oh。

  17. HaloNet(来自谷歌),随论文《扩展局部自注意力以构建参数高效的视觉骨干网络》(arXiv:2103.12731)发布,作者为Ashish Vaswani、Prajit Ramachandran、Aravind Srinivas、Niki Parmar、Blake Hechtman、Jonathon Shlens。

  18. PoolFormer(来自Sea AI Lab和新加坡国立大学),随论文《MetaFormer才是你真正需要的视觉模型》(arXiv:2111.11418)发布,作者为Weihao Yu、Mi Luo、Pan Zhou、Chenyang Si、Yichen Zhou、Xinchao Wang、Jiashi Feng、Shuicheng Yan。

  19. BoTNet(来自加州大学伯克利分校和谷歌),随论文《瓶颈Transformer用于视觉识别》(arXiv:2101.11605)发布,作者为Aravind Srinivas、Tsung-Yi Lin、Niki Parmar、Jonathon Shlens、Pieter Abbeel、Ashish Vaswani。

  20. CvT(来自麦吉尔大学和微软),随论文《CvT:将卷积引入视觉Transformer》(arXiv:2103.15808)发布,作者为Haiping Wu、Bin Xiao、Noel Codella、Mengchen Liu、Xiyang Dai、Lu Yuan、Lei Zhang。

  21. HvT(来自莫纳什大学),随论文《具有层次化池化的可扩展视觉Transformer》(arXiv:2103.10619)发布,作者为Zizheng Pan、Bohan Zhuang、Jing Liu、Haoyu He、Jianfei Cai。

  22. TopFormer(来自华中科技大学、腾讯、复旦大学和浙江大学),随论文《TopFormer:用于移动端语义分割的Token Pyramid Transformer》(arXiv:2204.05525)发布,作者为Wenqiang Zhang、Zilong Huang、Guozhong Luo、Tao Chen、Xinggang Wang、Wenyu Liu、Gang Yu、Chunhua Shen。

  23. ConvNeXt(来自 FAIR/UCBerkeley),随论文《面向2020年代的卷积神经网络》(A ConvNet for the 2020s,arXiv:2201.03545)发布,作者为 Zhuang Liu、Hanzi Mao、Chao-Yuan Wu、Christoph Feichtenhofer、Trevor Darrell 和 Saining Xie。

  24. CoaT(来自 UCSD),随论文《协同尺度的卷积-注意力图像Transformer》(Co-Scale Conv-Attentional Image Transformers,arXiv:2104.06399)发布,作者为 Weijian Xu、Yifan Xu、Tyler Chang 和 Zhuowen Tu。

  25. ResT(来自 NJU),随论文《ResT:一种用于视觉识别的高效Transformer》(ResT: An Efficient Transformer for Visual Recognition,arXiv:2105.13677)发布,作者为 Qinglong Zhang 和 Yubin Yang。

  26. ResTV2(来自 NJU),随论文《ResT V2:更简单、更快、更强》(ResT V2: Simpler, Faster and Stronger,arXiv:2204.07366)发布,作者为 Qinglong Zhang 和 Yubin Yang。

图像分类(MLP及其他)

  1. MLP-Mixer(来自 Google),随论文《MLP-Mixer:一种全MLP的视觉架构》(MLP-Mixer: An all-MLP Architecture for Vision,arXiv:2105.01601)发布,作者为 Ilya Tolstikhin、Neil Houlsby、Alexander Kolesnikov、Lucas Beyer、Xiaohua Zhai、Thomas Unterthiner、Jessica Yung、Andreas Steiner、Daniel Keysers、Jakob Uszkoreit、Mario Lucic 和 Alexey Dosovitskiy。
  2. ResMLP(来自 Facebook/Sorbonne/Inria/Valeo),随论文《ResMLP:用于图像分类且数据高效训练的前馈网络》(ResMLP: Feedforward networks for image classification with data-efficient training,arXiv:2105.03404)发布,作者为 Hugo Touvron、Piotr Bojanowski、Mathilde Caron、Matthieu Cord、Alaaeldin El-Nouby、Edouard Grave、Gautier Izacard、Armand Joulin、Gabriel Synnaeve、Jakob Verbeek 和 Hervé Jégou。
  3. gMLP(来自 Google),随论文《关注MLP吧》(Pay Attention to MLPs,arXiv:2105.08050)发布,作者为 Hanxiao Liu、Zihang Dai、David R. So 和 Quoc V. Le。
  4. FF Only(来自 Oxford),随论文《你真的需要注意力机制吗?一叠前馈层在ImageNet上表现惊人》(Do You Even Need Attention? A Stack of Feed-Forward Layers Does Surprisingly Well on ImageNet,arXiv:2105.02723)发布,作者为 Luke Melas-Kyriazi。
  5. RepMLP(来自 BNRist/Tsinghua/MEGVII/Aberystwyth),随论文《RepMLP:将卷积重新参数化为全连接层用于图像识别》(RepMLP: Re-parameterizing Convolutions into Fully-connected Layers for Image Recognition,arXiv:2105.01883)发布,作者为 Xiaohan Ding、Chunlong Xia、Xiangyu Zhang、Xiaojie Chu、Jungong Han 和 Guiguang Ding。
  6. CycleMLP(来自 HKU/SenseTime),随论文《CycleMLP:一种类似MLP的密集预测架构》(CycleMLP: A MLP-like Architecture for Dense Prediction,arXiv:2107.10224)发布,作者为 Shoufa Chen、Enze Xie、Chongjian Ge、Ding Liang 和 Ping Luo。
  7. ConvMixer(来自 Anonymous),随论文《只需补丁就够了吗?》(Patches Are All You Need?,openreview.net/forum?id=TVHS5Y4dNvM)发布,作者为 Anonymous。
  8. ConvMLP(来自 UO/UIUC/PAIR),随论文《ConvMLP:用于视觉任务的分层卷积MLP》(ConvMLP: Hierarchical Convolutional MLPs for Vision,arXiv:2109.04454)发布,作者为 Jiachen Li、Ali Hassani、Steven Walton 和 Humphrey Shi。
  9. RepLKNet(来自 Tsinghua/MEGVII/Aberystwyth),随论文《将卷积核扩大到31×31:重访CNN中的大卷积核设计》(Scaling Up Your Kernels to 31x31: Revisiting Large Kernel Design in CNNs,arXiv:2203.06717)发布,作者为 Xiaohan Ding、Xiangyu Zhang、Yizhuang Zhou、Jungong Han、Guiguang Ding 和 Jian Sun。
  10. MobileOne(来自 Apple),随论文《改进的毫秒级移动端骨干网络》(An Improved One millisecond Mobile Backbone,arXiv:2206.04040)发布,作者为 Pavan Kumar Anasosalu Vasu、James Gabriel、Jeff Zhu、Oncel Tuzel 和 Anurag Ranjan。

目标检测

  1. DETR(来自 Facebook),随论文《基于Transformer的端到端目标检测》(End-to-End Object Detection with Transformers,arXiv:2005.12872)发布,作者为 Nicolas Carion、Francisco Massa、Gabriel Synnaeve、Nicolas Usunier、Alexander Kirillov 和 Sergey Zagoruyko。
  2. Swin Transformer(来自 Microsoft),随论文《Swin Transformer:使用移位窗口的分层视觉Transformer》(Swin Transformer: Hierarchical Vision Transformer using Shifted Windows,arXiv:2103.14030)发布,作者为 Ze Liu、Yutong Lin、Yue Cao、Han Hu、Yixuan Wei、Zheng Zhang、Stephen Lin 和 Baining Guo。
  3. PVTv2(来自 NJU/HKU/NJUST/IIAI/SenseTime),随论文《PVTv2:基于金字塔视觉Transformer的改进基线》(PVTv2: Improved Baselines with Pyramid Vision Transformer,arXiv:2106.13797)发布,作者为 Wenhai Wang、Enze Xie、Xiang Li、Deng-Ping Fan、Kaitao Song、Ding Liang、Tong Lu、Ping Luo 和 Ling Shao。

即将推出:

  1. Focal Transformer(来自 Microsoft),随论文《视觉Transformer中用于局部-全局交互的焦点自注意力机制》(Focal Self-attention for Local-Global Interactions in Vision Transformers,arXiv:2107.00641)发布,作者为 Jianwei Yang、Chunyuan Li、Pengchuan Zhang、Xiyang Dai、Bin Xiao、Lu Yuan 和 Jianfeng Gao。
  2. UP-DETR(来自 Tencent),随论文《UP-DETR:基于Transformer的目标检测无监督预训练》(UP-DETR: Unsupervised Pre-training for Object Detection with Transformers,arXiv:2011.09094)发布,作者为 Zhigang Dai、Bolun Cai、Yugeng Lin 和 Junying Chen。

语义分割

现在:

  1. SETR(来自复旦大学/牛津大学/萨里大学/腾讯/Facebook),随论文《从序列到序列的角度重新思考基于Transformer的语义分割》(Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers)发布,作者为Sixiao Zheng、Jiachen Lu、Hengshuang Zhao、Xiatian Zhu、Zekun Luo、Yabiao Wang、Yanwei Fu、Jianfeng Feng、Tao Xiang、Philip H.S. Torr和Li Zhang。
  2. DPT(来自英特尔),随论文《用于密集预测的视觉Transformer》(Vision Transformers for Dense Prediction)发布,作者为René Ranftl、Alexey Bochkovskiy和Vladlen Koltun。
  3. Swin Transformer(来自微软),随论文《Swin Transformer:使用移位窗口的层次化视觉Transformer》(Swin Transformer: Hierarchical Vision Transformer using Shifted Windows)发布,作者为Ze Liu、Yutong Lin、Yue Cao、Han Hu、Yixuan Wei、Zheng Zhang、Stephen Lin和Baining Guo。
  4. Segmenter(来自Inria),随论文《Segmenter:用于语义分割的Transformer》(Segmenter: Transformer for Semantic Segmentation)发布,作者为Robin Strudel、Ricardo Garcia、Ivan Laptev和Cordelia Schmid。
  5. Trans2seg(来自香港大学/商汤科技/南京大学),随论文《利用Transformer在野外分割透明物体》(Segmenting Transparent Object in the Wild with Transformer)发布,作者为Enze Xie、Wenjia Wang、Wenhai Wang、Peize Sun、Hang Xu、Ding Liang和Ping Luo。
  6. SegFormer(来自香港大学/南京大学/NVIDIA/加州理工学院),随论文《SegFormer:一种简单高效的基于Transformer的语义分割设计》(SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers)发布,作者为Enze Xie、Wenhai Wang、Zhiding Yu、Anima Anandkumar、Jose M. Alvarez和Ping Luo。
  7. CSwin Transformer(来自中国科学技术大学和微软),随论文《CSWin Transformer:一种具有十字形窗口的通用视觉Transformer骨干网络》(CSWin Transformer: A General Vision Transformer Backbone with Cross-Shaped Windows)发布。
  8. TopFormer(来自华中科技大学/腾讯/复旦大学/浙江大学),随论文《TopFormer:用于移动端语义分割的Token金字塔Transformer》(TopFormer: Token Pyramid Transformer for Mobile Semantic Segmentation)发布。

即将推出:

  1. FTN(来自百度),随论文《用于图像语义分割的全Transformer网络》(Fully Transformer Networks for Semantic Image Segmentation)发布,作者为Sitong Wu、Tianyi Wu、Fangjian Lin、Shengwei Tian和Guodong Guo。
  2. Shuffle Transformer(来自腾讯),随论文《Shuffle Transformer:重新思考视觉Transformer中的空间洗牌》(Shuffle Transformer: Rethinking Spatial Shuffle for Vision Transformer)发布,作者为Zilong Huang、Youcheng Ben、Guozhong Luo、Pei Cheng、Gang Yu和Bin Fu。
  3. Focal Transformer(来自微软),随论文《视觉Transformer中用于局部-全局交互的焦点自注意力机制》(Focal Self-attention for Local-Global Interactions in Vision Transformers)发布,作者为Jianwei Yang、Chunyuan Li、Pengchuan Zhang、Xiyang Dai、Bin Xiao、Lu Yuan和Jianfeng Gao。

GAN

  1. TransGAN(来自首尔国立大学和NUAA),随论文《TransGAN:两个纯Transformer可以组成一个强大的GAN,而且还能扩展规模》(TransGAN: Two Pure Transformers Can Make One Strong GAN, and That Can Scale Up)发布,作者为Yifan Jiang、Shiyu Chang和Zhangyang Wang。
  2. Styleformer(来自Facebook和索邦大学),随论文《Styleformer:基于Transformer并带有风格向量的生成对抗网络》(Styleformer: Transformer based Generative Adversarial Networks with Style Vector)发布,作者为Jeeseung Park和Younggeun Kim。

即将推出:

  1. ViTGAN(来自UCSD/谷歌),随论文《ViTGAN:使用视觉Transformer训练GAN》(ViTGAN: Training GANs with Vision Transformers)发布,作者为Kwonjoon Lee、Huiwen Chang、Lu Jiang、Han Zhang、Zhuowen Tu和Ce Liu。

安装

先决条件

  • Linux/MacOS/Windows
  • Python 3.6/3.7
  • PaddlePaddle 2.1.0+
  • CUDA10.2+

注意:建议安装最新版本的PaddlePaddle,以避免PaddleViT训练时出现某些CUDA错误。关于PaddlePaddle的安装,请参考此链接(https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/pip/linux-pip.html)获取稳定版安装方法,以及此链接(https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/develop/install/pip/linux-pip.html#gpu)获取开发版安装方法。

安装

  1. 创建并激活一个conda虚拟环境。

    conda create -n paddlevit python=3.7 -y
    conda activate paddlevit
    
  2. 按照官方说明安装PaddlePaddle,例如:

    conda install paddlepaddle-gpu==2.1.2 cudatoolkit=10.2 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/
    

    注意:请根据您的环境相应地调整PaddlePaddle和CUDA的版本。

  3. 安装依赖包

    • 一般依赖:
      pip install yacs pyyaml
      
    • 用于分割的包:
      pip install cityscapesScripts
      
      安装detail包:
      git clone https://github.com/ccvl/detail-api
      cd detail-api/PythonAPI
      make
      make install
      
    • 用于GAN的包:
      pip install lmdb
      
  4. 从GitHub克隆项目

    git clone https://github.com/BR-IDL/PaddleViT.git 
    

结果(模型库)

Image Classification

Model Acc@1 Acc@5 #Params FLOPs Image Size Crop pct Interp Link
vit_base_patch32_224 80.68 95.61 88.2M 4.4G 224 0.875 bicubic google/baidu(ubyr)
vit_base_patch32_384 83.35 96.84 88.2M 12.7G 384 1.0 bicubic google/baidu(3c2f)
vit_base_patch16_224 84.58 97.30 86.4M 17.0G 224 0.875 bicubic google/baidu(qv4n)
vit_base_patch16_384 85.99 98.00 86.4M 49.8G 384 1.0 bicubic google/baidu(wsum)
vit_large_patch16_224 85.81 97.82 304.1M 59.9G 224 0.875 bicubic google/baidu(1bgk)
vit_large_patch16_384 87.08 98.30 304.1M 175.9G 384 1.0 bicubic google/baidu(5t91)
vit_large_patch32_384 81.51 96.09 306.5M 44.4G 384 1.0 bicubic google/baidu(ieg3)
swin_t_224 81.37 95.54 28.3M 4.4G 224 0.9 bicubic google/baidu(h2ac)
swin_s_224 83.21 96.32 49.6M 8.6G 224 0.9 bicubic google/baidu(ydyx)
swin_b_224 83.60 96.46 87.7M 15.3G 224 0.9 bicubic google/baidu(h4y6)
swin_b_384 84.48 96.89 87.7M 45.5G 384 1.0 bicubic google/baidu(7nym)
swin_b_224_22kto1k 85.27 97.56 87.7M 15.3G 224 0.9 bicubic google/baidu(6ur8)
swin_b_384_22kto1k 86.43 98.07 87.7M 45.5G 384 1.0 bicubic google/baidu(9squ)
swin_l_224_22kto1k 86.32 97.90 196.4M 34.3G 224 0.9 bicubic google/baidu(nd2f)
swin_l_384_22kto1k 87.14 98.23 196.4M 100.9G 384 1.0 bicubic google/baidu(5g5e)
deit_tiny_distilled_224 74.52 91.90 5.9M 1.1G 224 0.875 bicubic google/baidu(rhda)
deit_small_distilled_224 81.17 95.41 22.4M 4.3G 224 0.875 bicubic google/baidu(pv28)
deit_base_distilled_224 83.32 96.49 87.2M 17.0G 224 0.875 bicubic google/baidu(5f2g)
deit_base_distilled_384 85.43 97.33 87.2M 49.9G 384 1.0 bicubic google/baidu(qgj2)
volo_d1_224 84.12 96.78 26.6M 6.6G 224 1.0 bicubic google/baidu(xaim)
volo_d1_384 85.24 97.21 26.6M 19.5G 384 1.0 bicubic google/baidu(rr7p)
volo_d2_224 85.11 97.19 58.6M 13.7G 224 1.0 bicubic google/baidu(d82f)
volo_d2_384 86.04 97.57 58.6M 40.7G 384 1.0 bicubic google/baidu(9cf3)
volo_d3_224 85.41 97.26 86.2M 19.8G 224 1.0 bicubic google/baidu(a5a4)
volo_d3_448 86.50 97.71 86.2M 80.3G 448 1.0 bicubic google/baidu(uudu)
volo_d4_224 85.89 97.54 192.8M 42.9G 224 1.0 bicubic google/baidu(vcf2)
volo_d4_448 86.70 97.85 192.8M 172.5G 448 1.0 bicubic google/baidu(nd4n)
volo_d5_224 86.08 97.58 295.3M 70.6G 224 1.0 bicubic google/baidu(ymdg)
volo_d5_448 86.92 97.88 295.3M 283.8G 448 1.0 bicubic google/baidu(qfcc)
volo_d5_512 87.05 97.97 295.3M 371.3G 512 1.15 bicubic google/baidu(353h)
cswin_tiny_224 82.81 96.30 22.3M 4.2G 224 0.9 bicubic google/baidu(4q3h)
cswin_small_224 83.60 96.58 34.6M 6.5G 224 0.9 bicubic google/baidu(gt1a)
cswin_base_224 84.23 96.91 77.4M 14.6G 224 0.9 bicubic google/baidu(wj8p)
cswin_base_384 85.51 97.48 77.4M 43.1G 384 1.0 bicubic google/baidu(rkf5)
cswin_large_224 86.52 97.99 173.3M 32.5G 224 0.9 bicubic google/baidu(b5fs)
cswin_large_384 87.49 98.35 173.3M 96.1G 384 1.0 bicubic google/baidu(6235)
cait_xxs24_224 78.38 94.32 11.9M 2.2G 224 1.0 bicubic google/baidu(j9m8)
cait_xxs36_224 79.75 94.88 17.2M 33.1G 224 1.0 bicubic google/baidu(nebg)
cait_xxs24_384 80.97 95.64 11.9M 6.8G 384 1.0 bicubic google/baidu(2j95)
cait_xxs36_384 82.20 96.15 17.2M 10.1G 384 1.0 bicubic google/baidu(wx5d)
cait_s24_224 83.45 96.57 46.8M 8.7G 224 1.0 bicubic google/baidu(m4pn)
cait_xs24_384 84.06 96.89 26.5M 15.1G 384 1.0 bicubic google/baidu(scsv)
cait_s24_384 85.05 97.34 46.8M 26.5G 384 1.0 bicubic google/baidu(dnp7)
cait_s36_384 85.45 97.48 68.1M 39.5G 384 1.0 bicubic google/baidu(e3ui)
cait_m36_384 86.06 97.73 270.7M 156.2G 384 1.0 bicubic google/baidu(r4hu)
cait_m48_448 86.49 97.75 355.8M 287.3G 448 1.0 bicubic google/baidu(imk5)
pvtv2_b0 70.47 90.16 3.7M 0.6G 224 0.875 bicubic google/baidu(dxgb)
pvtv2_b1 78.70 94.49 14.0M 2.1G 224 0.875 bicubic google/baidu(2e5m)
pvtv2_b2 82.02 95.99 25.4M 4.0G 224 0.875 bicubic google/baidu(are2)
pvtv2_b2_linear 82.06 96.04 22.6M 3.9G 224 0.875 bicubic google/baidu(a4c8)
pvtv2_b3 83.14 96.47 45.2M 6.8G 224 0.875 bicubic google/baidu(nc21)
pvtv2_b4 83.61 96.69 62.6M 10.0G 224 0.875 bicubic google/baidu(tthf)
pvtv2_b5 83.77 96.61 82.0M 11.5G 224 0.875 bicubic google/baidu(9v6n)
shuffle_vit_tiny 82.39 96.05 28.5M 4.6G 224 0.875 bicubic google/baidu(8a1i)
shuffle_vit_small 83.53 96.57 50.1M 8.8G 224 0.875 bicubic google/baidu(xwh3)
shuffle_vit_base 83.95 96.91 88.4M 15.5G 224 0.875 bicubic google/baidu(1gsr)
t2t_vit_7 71.68 90.89 4.3M 1.0G 224 0.9 bicubic google/baidu(1hpa)
t2t_vit_10 75.15 92.80 5.8M 1.3G 224 0.9 bicubic google/baidu(ixug)
t2t_vit_12 76.48 93.49 6.9M 1.5G 224 0.9 bicubic google/baidu(qpbb)
t2t_vit_14 81.50 95.67 21.5M 4.4G 224 0.9 bicubic google/baidu(c2u8)
t2t_vit_19 81.93 95.74 39.1M 7.8G 224 0.9 bicubic google/baidu(4in3)
t2t_vit_24 82.28 95.89 64.0M 12.8G 224 0.9 bicubic google/baidu(4in3)
t2t_vit_t_14 81.69 95.85 21.5M 4.4G 224 0.9 bicubic google/baidu(4in3)
t2t_vit_t_19 82.44 96.08 39.1M 7.9G 224 0.9 bicubic google/baidu(mier)
t2t_vit_t_24 82.55 96.07 64.0M 12.9G 224 0.9 bicubic google/baidu(6vxc)
t2t_vit_14_384 83.34 96.50 21.5M 13.0G 384 1.0 bicubic google/baidu(r685)
cross_vit_tiny_224 73.20 91.90 6.9M 1.3G 224 0.875 bicubic google/baidu(scvb)
cross_vit_small_224 81.01 95.33 26.7M 5.2G 224 0.875 bicubic google/baidu(32us)
cross_vit_base_224 82.12 95.87 104.7M 20.2G 224 0.875 bicubic google/baidu(jj2q)
cross_vit_9_224 73.78 91.93 8.5M 1.6G 224 0.875 bicubic google/baidu(mjcb)
cross_vit_15_224 81.51 95.72 27.4M 5.2G 224 0.875 bicubic google/baidu(n55b)
cross_vit_18_224 82.29 96.00 43.1M 8.3G 224 0.875 bicubic google/baidu(xese)
cross_vit_9_dagger_224 76.92 93.61 8.7M 1.7G 224 0.875 bicubic google/baidu(58ah)
cross_vit_15_dagger_224 82.23 95.93 28.1M 5.6G 224 0.875 bicubic google/baidu(qwup)
cross_vit_18_dagger_224 82.51 96.03 44.1M 8.7G 224 0.875 bicubic google/baidu(qtw4)
cross_vit_15_dagger_384 83.75 96.75 28.1M 16.4G 384 1.0 bicubic google/baidu(w71e)
cross_vit_18_dagger_384 84.17 96.82 44.1M 25.8G 384 1.0 bicubic google/baidu(99b6)
beit_base_patch16_224_pt22k 85.21 97.66 87M 12.7G 224 0.9 bicubic google/baidu(fshn)
beit_base_patch16_384_pt22k 86.81 98.14 87M 37.3G 384 1.0 bicubic google/baidu(arvc)
beit_large_patch16_224_pt22k 87.48 98.30 304M 45.0G 224 0.9 bicubic google/baidu(2ya2)
beit_large_patch16_384_pt22k 88.40 98.60 304M 131.7G 384 1.0 bicubic google/baidu(qtrn)
beit_large_patch16_512_pt22k 88.60 98.66 304M 234.0G 512 1.0 bicubic google/baidu(567v)
Focal-T 82.03 95.86 28.9M 4.9G 224 0.875 bicubic google/baidu(i8c2)
Focal-T (use conv) 82.70 96.14 30.8M 4.9G 224 0.875 bicubic google/baidu(smrk)
Focal-S 83.55 96.29 51.1M 9.4G 224 0.875 bicubic google/baidu(dwd8)
Focal-S (use conv) 83.85 96.47 53.1M 9.4G 224 0.875 bicubic google/baidu(nr7n)
Focal-B 83.98 96.48 89.8M 16.4G 224 0.875 bicubic google/baidu(8akn)
Focal-B (use conv) 84.18 96.61 93.3M 16.4G 224 0.875 bicubic google/baidu(5nfi)
mobilevit_xxs 70.31 89.68 1.32M 0.44G 256 1.0 bicubic google/baidu(axpc)
mobilevit_xs 74.47 92.02 2.33M 0.95G 256 1.0 bicubic google/baidu(hfhm)
mobilevit_s 76.74 93.08 5.59M 1.88G 256 1.0 bicubic google/baidu(34bg)
mobilevit_s $\dag$ 77.83 93.83 5.59M 1.88G 256 1.0 bicubic google/baidu(92ic)
vip_s7 81.50 95.76 25.1M 7.0G 224 0.875 bicubic google/baidu(mh9b)
vip_m7 82.75 96.05 55.3M 16.4G 224 0.875 bicubic google/baidu(hvm8)
vip_l7 83.18 96.37 87.8M 24.5G 224 0.875 bicubic google/baidu(tjvh)
xcit_nano_12_p16_224_dist 72.32 90.86 0.6G 3.1M 224 1.0 bicubic google/baidu(7qvz)
xcit_nano_12_p16_384_dist 75.46 92.70 1.6G 3.1M 384 1.0 bicubic google/baidu(1y2j)
xcit_large_24_p16_224_dist 84.92 97.13 35.9G 189.1M 224 1.0 bicubic google/baidu(kfv8)
xcit_large_24_p16_384_dist 85.76 97.54 105.5G 189.1M 384 1.0 bicubic google/baidu(ffq3)
xcit_nano_12_p8_224_dist 76.33 93.10 2.2G 3.0M 224 1.0 bicubic google/baidu(jjs7)
xcit_nano_12_p8_384_dist 77.82 94.04 6.3G 3.0M 384 1.0 bicubic google/baidu(dmc1)
xcit_large_24_p8_224_dist 85.40 97.40 141.4G 188.9M 224 1.0 bicubic google/baidu(y7gw)
xcit_large_24_p8_384_dist 85.99 97.69 415.5G 188.9M 384 1.0 bicubic google/baidu(9xww)
pit_ti 72.91 91.40 4.8M 0.5G 224 0.9 bicubic google/baidu(ydmi)
pit_ti_distill 74.54 92.10 5.1M 0.5G 224 0.9 bicubic google/baidu(7k4s)
pit_xs 78.18 94.16 10.5M 1.1G 224 0.9 bicubic google/baidu(gytu)
pit_xs_distill 79.31 94.36 10.9M 1.1G 224 0.9 bicubic google/baidu(ie7s)
pit_s 81.08 95.33 23.4M 2.4G 224 0.9 bicubic google/baidu(kt1n)
pit_s_distill 81.99 95.79 24.0M 2.5G 224 0.9 bicubic google/baidu(hhyc)
pit_b 82.44 95.71 73.5M 10.6G 224 0.9 bicubic google/baidu(uh2v)
pit_b_distill 84.14 96.86 74.5M 10.7G 224 0.9 bicubic google/baidu(3e6g)
halonet26t 79.10 94.31 12.5M 3.2G 256 0.95 bicubic google/baidu(ednv)
halonet50ts 81.65 95.61 22.8M 5.1G 256 0.94 bicubic google/baidu(3j9e)
poolformer_s12 77.24 93.51 11.9M 1.8G 224 0.9 bicubic google/baidu(zcv4)
poolformer_s24 80.33 95.05 21.3M 3.4G 224 0.9 bicubic google/baidu(nedr)
poolformer_s36 81.43 95.45 30.8M 5.0G 224 0.9 bicubic google/baidu(fvpm)
poolformer_m36 82.11 95.69 56.1M 8.9G 224 0.95 bicubic google/baidu(whfp)
poolformer_m48 82.46 95.96 73.4M 11.8G 224 0.95 bicubic google/baidu(374f)
botnet50 77.38 93.56 20.9M 5.3G 224 0.875 bicubic google/baidu(wh13)
CvT-13-224 81.59 95.67 20M 4.5G 224 0.875 bicubic google/baidu(vev9)
CvT-21-224 82.46 96.00 32M 7.1G 224 0.875 bicubic google/baidu(t2rv)
CvT-13-384 83.00 96.36 20M 16.3G 384 1.0 bicubic google/baidu(wswt)
CvT-21-384 83.27 96.16 32M 24.9G 384 1.0 bicubic google/baidu(hcem)
CvT-13-384-22k 83.26 97.09 20M 16.3G 384 1.0 bicubic google/baidu(c7m9)
CvT-21-384-22k 84.91 97.62 32M 24.9G 384 1.0 bicubic google/baidu(9jxe)
CvT-w24-384-22k 87.58 98.47 277M 193.2G 384 1.0 bicubic google/baidu(bbj2)
HVT-Ti-1 69.45 89.28 5.7M 0.6G 224 0.875 bicubic google/baidu(egds)
HVT-S-0 80.30 95.15 22.0M 4.6G 224 0.875 bicubic google/baidu(hj7a)
HVT-S-1 78.06 93.84 22.1M 2.4G 224 0.875 bicubic google/baidu(tva8)
HVT-S-2 77.41 93.48 22.1M 1.9G 224 0.875 bicubic google/baidu(bajp)
HVT-S-3 76.30 92.88 22.1M 1.6G 224 0.875 bicubic google/baidu(rjch)
HVT-S-4 75.21 92.34 22.1M 1.6G 224 0.875 bicubic google/baidu(ki4j)
mlp_mixer_b16_224 76.60 92.23 60.0M 12.7G 224 0.875 bicubic google/baidu(xh8x)
mlp_mixer_l16_224 72.06 87.67 208.2M 44.9G 224 0.875 bicubic google/baidu(8q7r)
resmlp_24_224 79.38 94.55 30.0M 6.0G 224 0.875 bicubic google/baidu(jdcx)
resmlp_36_224 79.77 94.89 44.7M 9.0G 224 0.875 bicubic google/baidu(33w3)
resmlp_big_24_224 81.04 95.02 129.1M 100.7G 224 0.875 bicubic google/baidu(r9kb)
resmlp_12_distilled_224 77.95 93.56 15.3M 3.0G 224 0.875 bicubic google/baidu(ghyp)
resmlp_24_distilled_224 80.76 95.22 30.0M 6.0G 224 0.875 bicubic google/baidu(sxnx)
resmlp_36_distilled_224 81.15 95.48 44.7M 9.0G 224 0.875 bicubic google/baidu(vt85)
resmlp_big_24_distilled_224 83.59 96.65 129.1M 100.7G 224 0.875 bicubic google/baidu(4jk5)
resmlp_big_24_22k_224 84.40 97.11 129.1M 100.7G 224 0.875 bicubic google/baidu(ve7i)
gmlp_s16_224 79.64 94.63 19.4M 4.5G 224 0.875 bicubic google/baidu(bcth)
ff_only_tiny (linear_tiny) 61.28 84.06 224 0.875 bicubic google/baidu(mjgd)
ff_only_base (linear_base) 74.82 91.71 224 0.875 bicubic google/baidu(m1jc)
repmlp_res50_light_224 77.01 93.46 87.1M 3.3G 224 0.875 bicubic google/baidu(b4fg)
cyclemlp_b1 78.85 94.60 15.1M 224 0.9 bicubic google/baidu(mnbr)
cyclemlp_b2 81.58 95.81 26.8M 224 0.9 bicubic google/baidu(jwj9)
cyclemlp_b3 82.42 96.07 38.3M 224 0.9 bicubic google/baidu(v2fy)
cyclemlp_b4 82.96 96.33 51.8M 224 0.875 bicubic google/baidu(fnqd)
cyclemlp_b5 83.25 96.44 75.7M 224 0.875 bicubic google/baidu(s55c)
convmixer_1024_20 76.94 93.35 24.5M 9.5G 224 0.96 bicubic google/baidu(qpn9)
convmixer_768_32 80.16 95.08 21.2M 20.8G 224 0.96 bicubic google/baidu(m5s5)
convmixer_1536_20 81.37 95.62 51.8M 72.4G 224 0.96 bicubic google/baidu(xqty)
convmlp_s 76.76 93.40 9.0M 2.4G 224 0.875 bicubic google/baidu(3jz3)
convmlp_m 79.03 94.53 17.4M 4.0G 224 0.875 bicubic google/baidu(vyp1)
convmlp_l 80.15 95.00 42.7M 10.0G 224 0.875 bicubic google/baidu(ne5x)
topformer_tiny 65.98 87.32 1.5M 0.13G 224 0.875 bicubic google/baidu
topformer_small 72.44 91.17 3.1M 0.24G 224 0.875 bicubic google/baidu
topformer_base 75.25 92.67 5.1M 0.37G 224 0.875 bicubic google/baidu

目标检测

模型 主干网络 box_mAP 模型
DETR ResNet50 42.0 google/baidu(n5gk)
DETR ResNet101 43.5 google/baidu(bxz2)
Mask R-CNN Swin-T 1x 43.7 google/baidu(qev7)
Mask R-CNN Swin-T 3x 46.0 google/baidu(m8fg)
Mask R-CNN Swin-S 3x 48.4 google/baidu(hdw5)
Mask R-CNN pvtv2_b0 38.3 google/baidu(3kqb)
Mask R-CNN pvtv2_b1 41.8 google/baidu(k5aq)
Mask R-CNN pvtv2_b2 45.2 google/baidu(jh8b)
Mask R-CNN pvtv2_b2_linear 44.1 google/baidu(8ipt)
Mask R-CNN pvtv2_b3 46.9 google/baidu(je4y)
Mask R-CNN pvtv2_b4 47.5 google/baidu(n3ay)
Mask R-CNN pvtv2_b5 47.4 google/baidu(jzq1)

语义分割

Pascal Context

模型 主干网络 Batch_size mIoU (ss) mIoU (ms+flip) 主干网络检查点 模型检查点 配置文件
SETR_Naive ViT_large 16 52.06 52.57 google/baidu(owoj) google/baidu(xdb8) 配置文件
SETR_PUP ViT_large 16 53.90 54.53 google/baidu(owoj) google/baidu(6sji) 配置文件
SETR_MLA ViT_Large 8 54.39 55.16 google/baidu(owoj) google/baidu(wora) 配置文件
SETR_MLA ViT_large 16 55.01 55.87 google/baidu(owoj) google/baidu(76h2) 配置文件

城市景观

模型 主干网络 批量大小 迭代次数 mIoU (ss) mIoU (ms+flip) 主干网络检查点 模型检查点 配置文件
SETR_Naive ViT_Large 8 40k 76.71 79.03 google/baidu(owoj) google/baidu(g7ro) config
SETR_Naive ViT_Large 8 80k 77.31 79.43 google/baidu(owoj) google/baidu(wn6q) config
SETR_PUP ViT_Large 8 40k 77.92 79.63 google/baidu(owoj) google/baidu(zmoi) config
SETR_PUP ViT_Large 8 80k 78.81 80.43 google/baidu(owoj) baidu(f793) config
SETR_MLA ViT_Large 8 40k 76.70 78.96 google/baidu(owoj) baidu(qaiw) config
SETR_MLA ViT_Large 8 80k 77.26 79.27 google/baidu(owoj) baidu(6bgj) config

ADE20K

模型 主干网络 批量大小 迭代次数 mIoU (ss) mIoU (ms+flip) 主干网络检查点 模型检查点 配置文件
SETR_Naive ViT_Large 16 160k 47.57 48.12 google/baidu(owoj) baidu(lugq) config
SETR_PUP ViT_Large 16 160k 49.12 49.51 google/baidu(owoj) baidu(udgs) config
SETR_MLA ViT_Large 8 160k 47.80 49.34 google/baidu(owoj) baidu(mrrv) config
DPT ViT_Large 16 160k 47.21 - google/baidu(owoj) baidu(ts7h) config
Segmenter ViT_Tiny 16 160k 38.45 - TODO baidu(1k97) config
Segmenter ViT_Small 16 160k 46.07 - TODO baidu(i8nv) config
Segmenter ViT_Base 16 160k 49.08 - TODO baidu(hxrl) config
Segmenter ViT_Large 16 160k 51.82 - TODO baidu(wdz6) config
Segmenter_Linear DeiT_Base 16 160k 47.34 - TODO baidu(5dpv) config
Segmenter DeiT_Base 16 160k 49.27 - TODO baidu(3kim) config
Segformer MIT-B0 16 160k 38.37 - TODO baidu(ges9) config
Segformer MIT-B1 16 160k 42.20 - TODO baidu(t4n4) config
Segformer MIT-B2 16 160k 46.38 - TODO baidu(h5ar) config
Segformer MIT-B3 16 160k 48.35 - TODO baidu(g9n4) config
Segformer MIT-B4 16 160k 49.01 - TODO baidu(e4xw) config
Segformer MIT-B5 16 160k 49.73 - TODO baidu(uczo) config
UperNet Swin_Tiny 16 160k 44.90 45.37 - baidu(lkhg) config
UperNet Swin_Small 16 160k 47.88 48.90 - baidu(vvy1) config
UperNet Swin_Base 16 160k 48.59 49.04 - baidu(y040) config
UperNet CSwin_Tiny 16 160k 49.46 baidu(l1cp) baidu(y1eq) config
UperNet CSwin_Small 16 160k 50.88 baidu(6vwk) baidu(fz2e) config
UperNet CSwin_Base 16 160k 50.64 baidu(0ys7) baidu(83w3) config
TopFormer TopFormer_Base 16 160k 38.3 - google/baidu google/baidu(ufxt) config
TopFormer TopFormer_Base 32 160k 39.2 - google/baidu google/baidu(ufxt) config
TopFormer TopFormer_Small 16 160k 36.5 - google/baidu google/baidu(ufxt) config
TopFormer TopFormer_Small 32 160k 37.0 - google/baidu google/baidu(ufxt) config
TopFormer TopFormer_Tiny 16 160k 33.6 - google/baidu google/baidu(ufxt) config
TopFormer TopFormer_Tiny 32 160k 34.6 - google/baidu google/baidu(ufxt) config
TopFormer TopFormer_Tiny 16 160k 32.5 - google/baidu google/baidu(ufxt) config
TopFormer TopFormer_Tiny 32 160k 33.4 - google/baidu google/baidu(ufxt) config
Trans2seg_Medium Resnet50c 32 160k 36.81 - google/baidu(4dd5) google/baidu(i2nt) config

Trans10kV2

模型 主干网络 批量大小 迭代次数 mIoU (ss) mIoU (ms+flip) 主干网络检查点 模型检查点 配置文件
Trans2seg_Medium Resnet50c 16 16k 75.97 - google/baidu(4dd5) google/baidu(w25r) config

GAN

模型 FID 图像尺寸 裁剪比例 插值方法 模型
styleformer_cifar10 2.73 32 1.0 lanczos google/baidu(ztky)
styleformer_stl10 15.65 48 1.0 lanczos google/baidu(i973)
styleformer_celeba 3.32 64 1.0 lanczos google/baidu(fh5s)
styleformer_lsun 9.68 128 1.0 lanczos google/baidu(158t)

*结果是在Cifar10、STL10、Celeba和LSUNchurch数据集上使用fid50k_full指标评估的。

图像分类快速演示

要使用预训练权重的模型,请进入特定子文件夹,例如/image_classification/ViT/,然后下载.pdparam权重文件,并在以下Python脚本中更改相关文件路径。模型配置文件位于./configs目录下。

假设下载的权重文件存储在./vit_base_patch16_224.pdparams中,要在Python中使用vit_base_patch16_224模型:

from config import get_config
from visual_transformer import build_vit as build_model
# 配置文件位于./configs/
config = get_config('./configs/vit_base_patch16_224.yaml')
# 构建模型
model = build_model(config)
# 加载预训练权重
model_state_dict = paddle.load('./vit_base_patch16_224.pdparams')
model.set_dict(model_state_dict)

:robot: 请参阅每个模型文件夹中的README文件以获取详细用法。

评估

要在单个GPU上评估ViT模型在ImageNet2012上的性能,请使用命令行运行以下脚本:

sh run_eval.sh

或者

CUDA_VISIBLE_DEVICES=0 \
python main_single_gpu.py \
    -cfg=./configs/vit_base_patch16_224.yaml \
    -dataset=imagenet2012 \
    -batch_size=16 \
    -data_path=/path/to/dataset/imagenet/val \
    -eval \
    -pretrained=/path/to/pretrained/model/vit_base_patch16_224  # 不需要.pdparams文件
使用多GPU进行评估:
sh run_eval_multi.sh

或者

CUDA_VISIBLE_DEVICES=0,1,2,3 \
python main_multi_gpu.py \
    -cfg=./configs/vit_base_patch16_224.yaml \
    -dataset=imagenet2012 \
    -batch_size=16 \
    -data_path=/path/to/dataset/imagenet/val \
    -eval \
    -pretrained=/path/to/pretrained/model/vit_base_patch16_224   # 不需要.pdparams文件

训练

要在单个GPU上训练ViT模型于ImageNet2012数据集,请使用命令行运行以下脚本:

sh run_train.sh

或者

CUDA_VISIBLE_DEVICES=0 \
python main_single_gpu.py \
  -cfg=./configs/vit_base_patch16_224.yaml \
  -dataset=imagenet2012 \
  -batch_size=32 \
  -data_path=/path/to/dataset/imagenet/train
使用多GPU进行训练:
sh run_train_multi.sh

或者

CUDA_VISIBLE_DEVICES=0,1,2,3 \
python main_multi_gpu.py \
    -cfg=./configs/vit_base_patch16_224.yaml \
    -dataset=imagenet2012 \
    -batch_size=16 \
    -data_path=/path/to/dataset/imagenet/train

贡献

  • 我们鼓励并感谢您对PaddleViT项目的贡献,请参考我们的工作流程和工作方式,详见CONTRIBUTING.md

许可证

  • 本仓库采用Apache-2.0许可证。

联系方式

  • 请在GitHub上提交问题。

版本历史

v0.82022/01/11
v0.12021/08/30

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

159.3k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|1周前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|1周前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架