社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  aigc

全新 AIGC 开源库 MMagic :引领 Diffusion Model,超越编辑,释放魔力!

集智书童 • 1 年前 • 274 次点击  

自从 MMEditing 诞生以来,它一直是许多图像超分、编辑和生成任务的首选算法库,帮助多个研究团队取得 10 余项国际顶级赛事的胜利,支撑了 100 多个 GitHub 生态项目。经过 OpenMMLab 2.0 的迭代更新以及与 MMGeneration 的代码合并,MMEditing 已经成为了一个支持基于 GAN 和传统 CNN 的底层视觉算法的强大工具。


而今天,MMEditing 将拥抱生成式 AI(Generative AI),正式更名为 MMagicMultimodal Advanced, Generative, and Intelligent Creation),致力于打造更先进、更全面的 AIGC 开源算法库

https://github.com/open-mmlab/mmagic

(欢迎体验,文末点击阅读原文可直达)


配合 MMEngine 出色的训练与实验管理支持,MMagic 将为广大研究者与 AIGC 爱好者们提供更加快捷灵活的实验支持,助力你的 AIGC 探索之旅。


在 MMagic 中,我们支持了针对 Stable Diffusion 的微调、图像编辑、图像及视频生成等任务。此外我们还支持 xFormers 等优化策略,提高训练与推理效率。


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


  • 支持基于 Stable Diffusion 与 Disco Diffusion 的图像生成

  • 支持 Dreambooth 以及 DreamBooth LoRA 等 Finetune 方法

  • 支持 ControlNet 进行可控性的文本到图像生成

  • 支持 xFormers 加速

  • 支持基于 MultiFrame Render 的视频生成

  • 支持通过 Wrapper 调用 Diffusers 的基础模型以及采样策略


为了提升你的“施法”效率,我们对“魔术回路”做了以下调整:


  • 对 33 种算法支持 Pytorch 2.0 加速

  • 支持快速推理接口

  • 重构 MultiValLoop 与 MultiTestLoop,同时支持生成类型指标(e.g. FID)与重建类型指标(e.g. SSIM) 的评测,同时支持一次性评测多个数据集

  • 重构 DataSample,支持 batch 维度的组合与拆分

  • 重构 DataPreprocessor,并统一各种任务在训练与推理时的数据格式



趣味玩法


新增 Inferencer —— 

几行代码快速实现模型推理


MMagic 中支持了快速推理接口,只需要指定模型,就可以快速调用:


from mmagic.apis import MMagicInferencer
# create an inferencer!magician = MMagicInferencer(model_name='stable_diffusion')text_prompts = 'A mecha robot in a favela in expressionist style'result_out_dir = 'robot.png'magician.infer(text=text_prompts, result_out_dir=result_out_dir)



也可以通过命令行进行 demo 推理:


python demo/mmediting_inference_demo.py --model-name eg3d \    --model-config configs/eg3d/eg3d_cvt-official-rgb_afhq-512x512.py \    --model-ckpt https://download.openmmlab.com/mmediting/eg3d/eg3d_cvt-official-rgb_afhq-512x512-ca1dd7c9.pth \    --result-out-dir eg3d_output \  # 保存图片及视频 `eg3d_output`    --interpolation camera \  # 对相机位置插值    --num-images 100  # 插值过程中生成100张图像



支持 MultiLoop —— 多种数据集一次性评测


为了方便用户一次性对多个数据集的多种指标进行评测,我们提供了 MultiValLoop 与 MultiTestLoop


# 1. 使用 `MultiValLoop` 代替 MMEngine 中默认提供的 `ValLoop`val_cfg = dict(type='MultiValLoop') # 2. 配置针对不同数据集的评测指标div2k_evaluator = dict(    type='EditEvaluator',    metrics=dict(type='SSIM', crop_border=2, prefix='DIV2K'))set5_evaluator = dict(    type='EditEvaluator',    metrics=[        dict(type='PSNR', crop_border=2, prefix='Set5'),        dict(type='SSIM', crop_border=2, prefix='Set5'),    ])val_evaluator = [div2k_evaluator, set5_evaluator]
# 3. 配置数据集div2k_dataloader = dict(...)set5_dataloader = dict(...)val_dataloader = [div2k_dataloader, set5_dataloader]


MMagic 支持通过 ControlNet 与多帧渲染 

—— 炫酷的图像/长视频生成


from mmagic.apis import MMagicInferencer
magician = MMagicInferencer(model_name='controlnet_animation')
prompt = 'aa handsome man, silver hair, smiling, play basketball'negative_prompt = 'longbody, lowres, bad anatomy, bad hands, missing fingers, ' + \ 'extra digit, fewer digits, cropped, worst quality, low quality'
# download video from 'https://download.openmmlab.com/mmediting/data/basketball.mp4'video = 'basketball.mp4'save_path = '/path/to/your/output/video.mp4'
magician.infer(video=video, prompt=prompt, negative_prompt=negative_prompt, save_path=save_path)



科研累了?打打篮球活动一下!


各种风格都支持嗷!


SAM + MMagic = Generate Anything!


当下流行的 SAM(segment anything model)也可以为 MMagic 提供更多加持!想制作自己的动画,可以移步至 OpenMMLab PlayGroundhttps://github.com/open-mmlab/playground/blob/main/mmediting_sam/README.md




使用 MMagic,体验更多生成的魔力!让我们一起开启超越编辑的新纪元!More than Editing, Unlock the Magic!


https://github.com/open-mmlab/mmagic

(欢迎体验,文末点击阅读原文可直达)


欢迎大家在评论区说出你想要 MMagic 支持的算法和功能,也许不久就能跟大家见面哦!


目前 MMagic SIG 正在招募中,欢迎扫码报名,与我们共建更先进、更全面的 AIGC 开源算法库!



复旦 MOSS 开源,主要设计者首次直播,开发历程独家分享!

2023-04-24

首次线下大集合|多模态 AI 开发者聚会@深圳站

2023-04-24

探秘 GPT 模型成功的背后:以数据为中心的人工智能技术

2023-04-21

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/154117
 
274 次点击