描述
此 GitHub 存储库 locuslab/convmixer 托管了 ConvMixer 的实现,这是一种在 ICLR 2022 论文 "Patches Are All You Need? 🤷"(作者:Asher Trockman 和 Zico Kolter)中详细介绍的神经网络架构。ConvMixer 模型的主要代码位于 `convmixer.py`。该项目利用 `pytorch-image-models` (timm) 框架进行训练,并对该框架进行了修改以支持 ConvMixer。
阅读更多
`pytorch-image-models` 框架内的主要修改包括添加 `timm/models/convmixer.py`,更新 `timm/models/__init__.py`,以及集成一个 "OneCycle" 学习率调度器及其相应的调度器文件。尽管提到了 OneCycle 调度器,但作者建议标准的余弦调度器也可用于训练 ConvMixer。
该存储库提供了几种 ConvMixer 变体的预训练模型权重,包括 ConvMixer-1536/20、ConvMixer-768/32 和 ConvMixer-1024/20,并附有其核大小、补丁大小和文件大小的详细信息。提供了在 ImageNet-1k 等数据集上评估这些模型的说明和示例命令,目标是实现高精度。例如,ConvMixer-1536/20 在 ImageNet-1k 验证集上的预期准确率为 81.37%。
还详细介绍了训练 ConvMixer 的方法,并提供了一个使用 ImageNet-1k 在多 GPU 设置上进行分布式训练的示例命令。训练命令指定了批量大小、工作线程数、优化器、训练轮数、学习率调度器、增强技术(例如 RandAugment、CutMix、MixUp)和输入大小等超参数。该存储库还包含一个简化的、可在推文中展示的 ConvMixer 架构 Python 版本。
此外,还链接了一个用于在 CIFAR-10 上训练 ConvMixer 的独立存储库,并提供了关于调整 `--scale` 等训练参数以适应较小输入尺寸的建议。该项目是根据 MIT 许可证开源的,鼓励社区贡献和进一步开发。
- 类别AI 模型与大语言模型
- 定价模式开源
- 部署云端, 自托管
- 平台网页版
ConvMixer的核心功能
ConvMixer 神经网络架构的实现
基于研究论文 "Patches Are All You Need? 🤷"
包含训练 ConvMixer 的代码
提供用于评估的预训练模型权重
支持在 ImageNet-1k 和 CIFAR-10 数据集上进行训练
利用 `pytorch-image-models` (timm) 框架
包含 "OneCycle" 学习率调度器的实现
提供模型评估的示例命令
包含分布式训练的示例命令
包含 ConvMixer 模型的一个简化、可推文版本
提供可下载的模型权重
根据 MIT 许可证开源
ConvMixer入门
访问模型:将 GitHub 存储库克隆到本地机器。
设置环境:安装必要的 Python 库,包括 PyTorch 和 `pytorch-image-models`。
加载模型:使用提供的 Python 脚本实例化一个 ConvMixer 模型。
评估模型:使用 `validate.py` 脚本,配合下载的权重和验证数据集。
训练模型:使用指定的 数据集路径和训练参数执行 `distributed_train.sh` 脚本。
集成:为自定义训练循环或推理管道改编 `convmixer.py` 代码。
ConvMixer的使用案例
- 图像分类
- 模型评估
- 自定义模型训练
- 研究与开发
- 迁移学习
- 基准测试








