# Vision Transformer Pytorch 实现 **Repository Path**: penguink3/VIT_Pytorch ## Basic Information - **Project Name**: Vision Transformer Pytorch 实现 - **Description**: Vision Transformer Pytorch 实现,MINST数据集测试实验 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2022-03-27 - **Last Updated**: 2023-05-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目文件结构 - 首先声明,本VIT实验实现vison transformer的方式是使用了pytorch框架为前提的,请各位进行本实验时自行安装[pytorch环境](https://pytorch.org/get-started/locally/)哦! ``` Embed.py -> patch编码层,包括PatchEmbedding类,实现了position encoding和图片拆分patch和patch编码 TransformerEncoder -> 包括TransformerEncoderBlock和TransformerEncoder两个类,TransformerEncoderBlock定义了单个encoder的块,TransformerEncoder集成多个EncoderBlock,数量可自定义 VIT -> VisionTransformer和ClassificationHead两个类,ClassificationHead是VIT的输出model,VisionTransformer接合了PatchEmbedding、TransformerEncoder和ClassificationHead实现了实验用的最终VIT train_mnsit -> 使用minst数据集对VIT进行简单的实验,大家可以改用CIFAR10什么的,记得改输入参数就好 ``` # 运行实验 1. 如果已经安装pytorch环境,直接运行train_minst.py即可查看实验 2. 实验使用的是MINST数据集,最终达到的极限准确率是90%,使用ADAM训练器,学习率lr=5e-4,大家可以尝试调参 3. 大家可以尝试使用CIFAR10数据集(模型结构基本不用改,输出也是10类)