Skip to content

Latest commit

 

History

History
491 lines (405 loc) · 22 KB

README_zh-CN.md

File metadata and controls

491 lines (405 loc) · 22 KB
 
Multimodal Advanced, Generative, and Intelligent Creation (MMagic [em'mædʒɪk])
 
OpenMMLab 官网 HOT      OpenMMLab 开放平台 TRY IT OUT
 

PyPI docs badge codecov license open issues issue resolution Open in OpenXLab

📘使用文档 | 🛠️安装教程 | 📊模型库 | 🆕更新记录 | 🚀进行中的项目 | 🤔提出问题

English | 简体中文

🚀 最新进展

最新的 MMagic v1.2.0 版本已经在 [18/12/2023] 发布:

  • 我们的代码仓库中发布了一个先进而强大的图像 inpainting 算法 PowerPaint。 Click to View

我们正式发布 MMagic v1.0.0 版本,源自 MMEditingMMGeneration

经过 OpenMMLab 2.0 框架的迭代更新以及与 MMGeneration 的合并,MMEditing 已经成为了一个支持基于 GAN 和 CNN 的底层视觉算法的强大工具。而今天,MMEditing 将更加拥抱生成式 AI(Generative AI),正式更名为 MMagicMultimodal Advanced, Generative, and Intelligent Creation),致力于打造更先进、更全面的 AIGC 开源算法库。MMagic 将为广大研究者与 AIGC 爱好者们提供更加快捷灵活的实验支持,助力你的 AIGC 探索之旅。

以下是此次版本发布的重点新功能:

1. 新算法

我们支持了4个新任务以及11个新算法。

  • Text2Image / Diffusion
    • ControlNet
    • DreamBooth
    • Stable Diffusion
    • Disco Diffusion
    • GLIDE
    • Guided Diffusion
  • 3D-aware Generation
    • EG3D
  • Image Restoration
    • NAFNet
    • Restormer
    • SwinIR
  • Image Colorization
    • InstColorization

2. Magic Diffusion Model

针对 Diffusion Model,我们提供了以下“魔法”

  • 支持基于 Stable Diffusion 与 Disco Diffusion 的图像生成.
  • 支持 Dreambooth 以及 DreamBooth LoRA 等 Finetune 方法.
  • 支持 ControlNet 进行可控性的文本到图像生成.
  • 支持 xFormers 加速和优化策略,提高训练与推理效率.
  • 支持基于 MultiFrame Render 的视频生成.
  • 支持通过 Wrapper 调用 Diffusers 的基础模型以及采样策略.

3. 框架升级

通过 OpenMMLab 2.0 框架的 MMEngine 和 MMCV, MMagic 在以下几方面完成升级:

  • 重构 DataSample,支持 batch 维度的组合与拆分.
  • 重构 DataPreprocessor,并统一各种任务在训练与推理时的数据格式.
  • 重构 MultiValLoop 与 MultiTestLoop,同时支持生成类型指标(e.g. FID)与重建类型指标(e.g. SSIM) 的评测,同时支持一次性评测多个数据集
  • 支持本地可视化以及使用 tensorboard 或 wandb的可视化.
  • 支持 33+ 算法 Pytorch 2.0 加速.

MMagic 已经支持了MMEditingMMGeneration中的全量任务、模型、优化函数和评价指标 ,并基于MMEngine统一了各组件接口 😍。

如果想了解更多版本更新细节和历史信息,请阅读更新日志。如果想从旧版本 MMEditing 0.x 迁移到新版本 MMagic 1.x,请阅读迁移文档

📄 目录

📖 介绍

MMagic 是基于 PyTorch 的图像&视频编辑和生成开源工具箱。是 OpenMMLab 项目的成员之一。

目前 MMagic 支持多种图像和视频的生成/编辑任务。

mmagic_introduction.mp4

✨ 主要特性

  • SOTA 算法

    MMagic 提供了处理、编辑、生成图像和视频的 SOTA 算法。

  • 强有力且流行的应用

    MMagic 支持了流行的图像修复、图文生成、3D生成、图像修补、抠图、超分辨率和生成等任务的应用。特别是 MMagic 支持了 Stable Diffusion 的微调和许多激动人心的 diffusion 应用,例如 ControlNet 动画生成。MMagic 也支持了 GANs 的插值,投影,编辑和其他流行的应用。请立即开始你的 AIGC 探索之旅!

  • 高效的框架

    通过 OpenMMLab 2.0 框架的 MMEngine 和 MMCV, MMagic 将编辑框架分解为不同的组件,并且可以通过组合不同的模块轻松地构建自定义的编辑器模型。我们可以像搭建“乐高”一样定义训练流程,提供丰富的组件和策略。在 MMagic 中,你可以使用不同的 APIs 完全控制训练流程。得益于 MMSeparateDistributedDataParallel, 动态模型结构的分布式训练可以轻松实现。

✨ 最佳实践

  • 主分支代码的最佳实践基于 Python 3.9+PyTorch 2.0+

🔝返回目录

🙌 参与贡献

越来越多社区贡献者的加入使我们的算法库日益发展。最近由社区贡献的项目包括:

为使向 MMagic 中添加项目更加容易,我们开启了 Projects

感谢您为改善 MMagic 所做的所有贡献。请参阅 MMCV 中的 CONTRIBUTING.md 和 MMEngine 中的 CONTRIBUTING.md 以获取贡献指南。

🔝返回目录

🛠️ 安装

MMagic 依赖 PyTorchMMEngineMMCV,以下是安装的简要步骤。

步骤 1. 依照官方教程安装 PyTorch 。

步骤 2. 使用 MIM 安装 MMCV,MMEngine 和 MMagic 。

pip3 install openmim
mim install 'mmcv>=2.0.0'
mim install 'mmengine'
mim install 'mmagic'

步骤 3. 验证 MMagic 安装成功。

cd ~
python -c "import mmagic; print(mmagic.__version__)"
# Example output: 1.0.0

开始使用

成功安装 MMagic 后,你可以很容易地上手使用 MMagic!仅需几行代码,你就可以使用 MMagic 完成文本生成图像!

from mmagic.apis import MMagicInferencer
sd_inferencer = MMagicInferencer(model_name='stable_diffusion')
text_prompts = 'A panda is having dinner at KFC'
result_out_dir = 'output/sd_res.png'
sd_inferencer.infer(text=text_prompts, result_out_dir=result_out_dir)

请参考快速运行推理演示获取 MMagic 的基本用法。

从源码安装 MMagic

使用以下命令从源码安装 MMagic,你可以选择不使用已发布的稳定版本,而在最新开发的版本上进行实验。

git clone https://github.com/open-mmlab/mmagic.git
cd mmagic
pip3 install -e .

更详细的安装指南请参考 安装指南

🔝Back to top

📊 模型库

支持的算法
Conditional GANs Unconditional GANs Image Restoration Image Super-Resolution
Video Super-Resolution Video Interpolation Image Colorization Image Translation
Inpainting Matting Text-to-Image(Video) 3D-aware Generation

请参考模型库了解详情。

🔝返回目录

🤝 致谢

MMagic 是一款由不同学校和公司共同贡献的开源项目。我们感谢所有为项目提供算法复现和新功能支持的贡献者,以及提供宝贵反馈的用户。我们希望该工具箱和基准测试可以为社区提供灵活的代码工具,供用户复现现有算法并开发自己的新模型,从而不断为开源社区提供贡献。

🔝返回目录

🖊️ 引用

如果 MMagic 对您的研究有所帮助,请按照如下 bibtex 引用它。

@misc{mmagic2023,
    title = {{MMagic}: {OpenMMLab} Multimodal Advanced, Generative, and Intelligent Creation Toolbox},
    author = {{MMagic Contributors}},
    howpublished = {\url{https://github.com/open-mmlab/mmagic}},
    year = {2023}
}
@misc{mmediting2022,
    title = {{MMEditing}: {OpenMMLab} Image and Video Editing Toolbox},
    author = {{MMEditing Contributors}},
    howpublished = {\url{https://github.com/open-mmlab/mmediting}},
    year = {2022}
}

🔝返回目录

🎫 许可证

本项目开源自 Apache 2.0 license

🔝返回目录

🏗️ ️OpenMMLab 的其他项目

  • MMEngine: OpenMMLab MMEngine.
  • MMCV: OpenMMLab 计算机视觉基础库
  • MIM: MIM 是 OpenMMlab 项目、算法、模型的统一入口
  • MMPreTrain: OpenMMLab 预训练工具箱
  • MMDetection: OpenMMLab 目标检测工具箱
  • MMDetection3D: OpenMMLab 新一代通用 3D 目标检测平台
  • MMRotate: OpenMMLab 旋转框检测工具箱与测试基准
  • MMSegmentation: OpenMMLab 语义分割工具箱
  • MMOCR: OpenMMLab 全流程文字检测识别理解工具箱
  • MMPose: OpenMMLab 姿态估计工具箱
  • MMHuman3D: OpenMMLab 人体参数化模型工具箱与测试基准
  • MMSelfSup: OpenMMLab 自监督学习工具箱与测试基准
  • MMRazor: OpenMMLab 模型压缩工具箱与测试基准
  • MMFewShot: OpenMMLab 少样本学习工具箱与测试基准
  • MMAction2: OpenMMLab 新一代视频理解工具箱
  • MMTracking: OpenMMLab 一体化视频目标感知平台
  • MMFlow: OpenMMLab 光流估计工具箱与测试基准
  • MMagic: OpenMMLab 新一代人工智能内容生成(AIGC)工具箱
  • MMDeploy: OpenMMLab 模型部署框架

🔝返回目录

欢迎加入 OpenMMLab 社区

扫描下方的二维码可关注 OpenMMLab 团队的 知乎官方账号,扫描下方微信二维码添加喵喵好友,进入 MMagic 微信交流社群。【加好友申请格式:研究方向+地区+学校/公司+姓名】

我们会在 OpenMMLab 社区为大家

  • 📢 分享 AI 框架的前沿核心技术
  • 💻 解读 PyTorch 常用模块源码
  • 📰 发布 OpenMMLab 的相关新闻
  • 🚀 介绍 OpenMMLab 开发的前沿算法
  • 🏃 获取更高效的问题答疑和意见反馈
  • 🔥 提供与各行各业开发者充分交流的平台

干货满满 📘,等你来撩 💗,OpenMMLab 社区期待您的加入 👬