MMagic是一个强大的图像处理工具,尤其擅长图像超分辨率技术。
本文将为你提供一份全面的MMagic环境配置指南,包括代码克隆、环境创建、依赖安装以及常见错误的解决方案,旨在帮助你快速上手MMagic。
如果您是初学者并且想要尝试使用MMagic,按照本文的步骤操作可以帮助您解决以下问题,并开始使用MMagic!
- 从GitHub克隆MMagic的代码库。
- 创建一个新的Python环境并激活它。
- 安装MMagic运行所需的各种Python包和依赖。
- 解决在安装过程中可能遇到的一些常见错误。
- 通过一个简单的Python脚本示例,展示如何使用MMagic进行图像超分辨率处理。
如果你在使用MMagic的过程中遇到了各种技术和安装问题,可以直接评论区留言或者跟我沟通,我非常乐意为你提供帮助!
1. #克隆代码 https://github.com/open-mmlab/mmagic.git
git clone https://github.com/open-mmlab/mmagic.git
2.创建环境和激活环境
conda create -n torch2.0.1 python=3.10.12
conda activate torch2.0.1
3.安装所需要的包
3.1
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
3.2
pip install -U openmim
3.3
mim install 'mmcv==2.0.0'
3.4
mim install 'mmengine'
3.5
mim install 'mmagic'
3.6
pip install -r requirements.txt
requirements.txt文件含有以下包,不管有没有用,先一键安装:
albumentations
-e git+https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1#egg=clip
imageio-ffmpeg==0.4.4
mmdet >= 3.0.0
open_clip_torch
PyQt5
albumentations
-e git+https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1#egg=clip
controlnet_aux
# codecov
# flake8
# isort==5.10.1
# onnxruntime
# pytest
# pytest-runner
# yapf
coverage < 7.0.0
imageio-ffmpeg==0.4.4
interrogate
mmdet >= 3.0.0
pytest
transformers>=4.27.4
av
av==8.0.3; python_version < '3.7'
click # required by mmagic/utils/io_utils.py
controlnet_aux
diffusers>=0.23.0
einops
face-alignment<=1.3.4
facexlib
lmdb
lpips
mediapipe
numpy
# MMCV depends opencv-python instead of headless, thus we install opencv-python
# Due to a bug from upstream, we skip this two version
# https://github.com/opencv/opencv-python/issues/602
# https://github.com/opencv/opencv/issues/21366
# It seems to be fixed in https://github.com/opencv/opencv/pull/21382
opencv-python!=4.5.5.62,!=4.5.5.64
pandas # required by mmagic/models/editors/disco_diffusion/guider.py
Pillow
resize_right
tensorboard
transformers>=4.27.4
4.环境配置验证
**完成以上步骤后进入python交互窗口,检查环境是否安装成功?然后开始使用代码**
成功安装 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)
提示:在进入python交互窗口时,依次输入以上指令,会在前两个指令出现很多的报错,以下是解决报错方案:
4.1. 解决报错
以下是搭建环境输入>>> from mmagic.apis import MMagicInferencer和
>>> sd_inferencer = MMagicInferencer(model_name='stable_diffusion')出现的错误,请根据提示解决报错。
错误1:
>>>from mmagic.apis import MMagicInferencer
No module named 'diffusers.pipelines.controlnet_xs'
解决方法:
pip install diffusers==0.24.0
错误2:
>>> from mmagic.apis import MMagicInferencer
>>> sd_inferencer = MMagicInferencer(model_name='stable_diffusion')
ModuleNotFoundError: No module named 'albumentations'
解决方法:
python -m pip install albumentations
错误3:
>>> from mmagic.apis import MMagicInferencer
>>> sd_inferencer = MMagicInferencer(model_name='stable_diffusion')
KeyError: 'AsymmetricAutoencoderKL is already registered in model at mmagic.models.archs'
解决方法:退出交互窗口,重新进入:
>>> from mmagic.apis import MMagicInferencer
>>> sd_inferencer = MMagicInferencer(model_name='stable_diffusion')
错误4:
>>> from mmagic.apis import MMagicInferencer
>>> from mmagic.apis import MMagicInferencer
>>> sd_inferencer = MMagicInferencer(model_name='stable_diffusion')
OSError: [Errno 5] Input/output error: '/home/featurize/work/.local/lib/python3.10/site-packages/astor-0.8.1.dist-info/entry_points.txt'
解决方法:退出交互窗口,重新进入:
>>> from mmagic.apis import MMagicInferencer
>>> sd_inferencer = MMagicInferencer(model_name='stable_diffusion')
成功解决:
当出现以下标识时说明环境配置成功,可以运行代码:
5.输入交互指令
解决以上问题之后,依次输入:以下交互指令,
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)
交互窗口如下所示:
6.配置成功
完成以上步骤,就配置成功了。