openmixup

GitHub
657 62 中等 1 次阅读 1周前Apache-2.0数据工具其他开发框架图像语言模型
AI 解读 由 AI 自动生成,仅供参考

OpenMixup 是一款基于 PyTorch 打造的开源视觉表示学习工具箱,专注于监督、半监督及自监督学习领域,尤其擅长处理各类 Mixup(混合增强)相关算法。它旨在解决研究人员在复现前沿视觉模型时面临的代码分散、框架不统一及评估标准缺失等痛点,让用户能在同一套架构下轻松完成从图像分类到自监督预训练的全流程实验。

这款工具非常适合计算机视觉领域的研究人员、算法工程师及高校开发者使用。无论是需要快速验证新想法的学术探索,还是构建高性能工业模型的工程实践,OpenMixup 都能提供强有力的支持。其核心亮点在于采用了模块化设计,架构灵活且易于扩展,能够无缝对接 OpenMMLab 生态(如 MMPreTrain)。它不仅集成了主流的骨干网络与先进的 Mixup 策略,还提供了标准化的基准测试环境,支持将预训练模型平滑迁移至目标检测与图像分割等下游任务,是探索视觉表征学习前沿技术的得力助手。

使用场景

某医疗影像算法团队正致力于利用少量标注的肺部 CT 扫描数据,训练一个高精度的肺炎辅助诊断模型,以解决医学领域标注数据稀缺的难题。

没有 openmixup 时

  • 代码重复造轮子:团队需手动复现 Mixup、CutMix 等混合增强策略及对比学习算法,耗费数周时间调试底层代码,且难以保证与论文效果一致。
  • 实验框架割裂:监督学习、半监督和自监督预训练分别使用不同的代码库,导致数据加载、模型评估流程不统一,切换实验设置极易出错。
  • 基准对比困难:缺乏统一的评测标准,难以在相同环境下公平对比不同混合增强策略对最终分类精度的提升效果。
  • 下游任务迁移繁琐:将预训练模型迁移到具体的病灶分割任务时,需重新编写大量适配代码,无法直接对接 Detectron2 或 MMSegmentation 等主流框架。

使用 openmixup 后

  • 开箱即用算法库:直接调用 openmixup 内置的多种 SOTA 混合增强方法和自监督算法,将算法验证周期从数周缩短至几天,快速锁定最优策略。
  • 统一训练框架:在同一个架构下灵活切换监督、半监督及自监督模式,通过模块化配置即可组合不同骨干网络与增强策略,大幅提升实验效率。
  • 标准化性能评估:利用内置的标准 Benchmark 一键完成图像分类与自监督评估,清晰量化不同 Mixup 策略在小样本场景下的增益表现。
  • 无缝生态集成:借助其与 OpenMMLab 生态的兼容性,轻松将预训练权重导出并应用于下游的病灶检测与分割任务,实现端到端流畅开发。

openmixup 通过提供统一且模块化的混合增强学习框架,帮助团队在低资源场景下快速构建并验证了高性能的视觉表示学习模型。

运行环境要求

操作系统
  • Linux
  • macOS
GPU

需要 NVIDIA GPU (用于多 GPU 训练示例),支持 CUDA 11.3 或 CUDA 11.8 (取决于 PyTorch 版本)

内存

未说明

依赖
notes主分支兼容 PyTorch 1.8+ (推荐 1.12),部分自监督方法需 PyTorch 1.8+,监督分类可低至 1.6。v0.2.10+ 版本支持 PyTorch 2.0+。安装 PyTorch 2.x 时需手动指定 mmcv 预编译包路径。建议使用 conda 管理环境。
python3.6, 3.7, 3.8, 3.9
torch>=1.6 (推荐 1.12 或 >=2.0)
torchvision
mmcv-full
openmim
openmixup hero image

快速开始

OpenMixup

release PyPI arxiv docs license open issues

📘文档 | 🛠️安装 | 🚀模型库 | 👀精彩混元 | 🔍精彩自监督 | 🆕新闻

简介

主分支支持 PyTorch 1.8(部分自监督方法所需)及以上版本(推荐使用 PyTorch 1.12)。对于有监督分类方法,您仍然可以使用 PyTorch 1.6

OpenMixup 是一个基于 PyTorch 的开源工具箱,用于基于 mixup 的有监督、自监督和半监督视觉表征学习,尤其适用于与 mixup 相关的方法。近期,OpenMixup 正在更新以适配 OpenMMLab 2.0 的新特性及代码结构(#42)。

主要特性
  • 模块化设计。 OpenMixup 遵循与 OpenMMLab 项目相似的代码架构,将框架分解为多个组件,用户可以通过组合不同模块轻松构建自定义模型。OpenMixup 也可以移植到 OpenMMLab 项目中(例如 MMPreTrain)。

  • 一体化。 OpenMixup 提供了流行的骨干网络、mixup 方法以及半监督和自监督算法。用户可以在同一框架下进行图像分类(CNN 和 Transformer)以及自监督预训练(对比学习和自回归方法)。

  • 标准基准。 OpenMixup 支持图像分类、mixup 分类和自监督评估的标准基准,并能与开源项目(如 Detectron2MMSegmentation 上的目标检测和分割任务)无缝对接,方便下游任务的评估。

  • 前沿方法。 OpenMixup 提供了热门 mixup 和自监督方法的精选列表。目前,OpenMixup 正在持续更新,以支持更多最先进的图像分类和自监督方法。

目录
  1. 简介
  2. 新闻与更新
  3. 安装
  4. 快速入门
  5. 模型库概览
  6. 变更日志
  7. 许可证
  8. 致谢
  9. 贡献者
  10. 贡献者与联系方式

新闻与更新

[2025-03-19] OpenMixup v0.2.10 发布,支持 PyTorch >= 2.0,并增加了更多的 mixup 数据增强和网络。

安装

OpenMixup 兼容 Python 3.6/3.7/3.8/3.9PyTorch >= 1.6。以下是开发模式下的快速安装步骤:

conda create -n openmixup python=3.8 pytorch=1.12 cudatoolkit=11.3 torchvision -c pytorch -y
conda activate openmixup
pip install openmim
mim install mmcv-full
git clone https://github.com/Westlake-AI/openmixup.git
cd openmixup
python setup.py develop
使用 PyTorch 2.x 安装的不同流程。
conda create -n openmixup python=3.9
conda activate openmixup
pip install torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 --index-url https://download.pytorch.org/whl/cu118
pip install https://download.openmmlab.com/mmcv/dist/cu118/torch2.1.0/mmcv_full-1.7.2-cp39-cp39-manylinux1_x86_64.whl
git clone https://github.com/Westlake-AI/openmixup.git
cd openmixup
pip install -r requirements/runtime.txt
python setup.py develop

有关更详细的安装和数据集准备,请参阅 install.md

快速入门

OpenMixup 支持 Linux 和 macOS。它能够轻松地在现有的有监督、自监督和半监督视觉识别模型中实现和扩展 mixup 数据增强方法。有关 OpenMixup 的基本用法,请参阅 get_started.md

训练与评估脚本

以下提供了一个使用多块 GPU 和指定 CONFIG_FILE 进行快速端到端训练的脚本:

bash tools/dist_train.sh ${CONFIG_FILE} ${GPUS} [可选参数]

例如,您可以运行以下脚本,使用 4 块 GPU 在 ImageNet 数据集上训练 ResNet-50 分类器:

CUDA_VISIBLE_DEVICES=0,1,2,3 PORT=29500 bash tools/dist_train.sh configs/classification/imagenet/resnet/resnet50_4xb64_cos_ep100.py 4

训练完成后,您可以使用相应的评估脚本来测试训练好的模型:

bash tools/dist_test.sh ${CONFIG_FILE} ${GPUS} ${PATH_TO_MODEL} [可选参数]

开发

更多开发示例和技术细节,请参阅教程

自监督学习下游任务

实用工具

(返回顶部)

模型库概览

请在各个配置页面上运行实验或查找结果。有关 mixup 方法的基准测试结果,请参阅Mixup 基准。查看有监督模型库自监督模型库,其中汇集了主流骨干网络和自监督算法。我们还提供了Awesome MixupsAwesome MIM的论文列表,供您参考。请在以下配置页面查看配置文件及模型链接。检查点和训练日志正在持续更新中!

支持的主干网络架构 Mixup 数据增强方法
自监督学习算法 支持的数据集

(back to top)

Change Log

Please refer to changelog.md for more details and release history.

License

This project is released under the Apache 2.0 license. See LICENSE for more information.

Acknowledgement

  • OpenMixup is an open-source project for mixup methods and visual representation learning created by researchers in CAIRI AI Lab. We encourage researchers interested in backbone architectures, mixup augmentations, and self-supervised learning methods to contribute to OpenMixup!
  • This project borrows the architecture design and part of the code from MMPreTrain and the official implementations of supported algorisms.

(back to top)

Citation

If you find this project useful in your research, please consider star OpenMixup or cite our tech report:

@article{li2022openmixup,
  title = {OpenMixup: A Comprehensive Mixup Benchmark for Visual Classification},
  author = {Siyuan Li and Zedong Wang and Zicheng Liu and Di Wu and Cheng Tan and Stan Z. Li},
  journal = {ArXiv},
  year = {2022},
  volume = {abs/2209.04851}
}

(back to top)

Contributors and Contact

For help, new features, or reporting bugs associated with OpenMixup, please open a GitHub issue and pull request with the tag "help wanted" or "enhancement". For now, the direct contributors include: Siyuan Li (@Lupin1998), Zedong Wang (@Jacky1128), and Zicheng Liu (@pone7). We thank all public contributors and contributors from MMPreTrain (MMSelfSup and MMClassification)!

This repo is currently maintained by:

(back to top)

版本历史

vits-mix-cifar100-weights2023/07/18
open-in1k-weights2023/04/27
rsb-a3-weights2023/02/26
moganet-in1k-weights2022/12/01
a2mim-in1k-weights2022/11/18
mixup-inat2018-weights2022/08/19
mixup-inat2017-weights2022/08/19
mixup-place205-weights2022/08/19
V0.2.32022/06/17
release2022/04/08
dataset2022/01/21

常见问题

相似工具推荐

stable-diffusion-webui

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

162.1k|★★★☆☆|今天
开发框架图像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 真正成长为懂上

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

ComfyUI

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

107.7k|★★☆☆☆|2天前
开发框架图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|昨天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|2天前
Agent图像开发框架