作为一个强大的生成模型,Diffusion Model(扩散模型)已经“侵袭”了各类low-level视觉任务。现有的Diffusion Model都是基于Stable diffusion实现的,在复现的时候会遇到一些问题,本篇博文总结了自己在复现过程中遇到的一些bug,及其解决方案。希望能有帮助。
1. from pytorch_lightning.utilities.distributed import rank_zero_only
问题详细描述:
from pytorch_lightning.utilities.distributed import rank_zero_only
ModuleNotFoundError: No module named 'pytorch_lightning.utilities.distributed'
解决方案:将
from pytorch_lightning.utilities.distributed import rank_zero_only
修改为:
from pytorch_lightning.utilities.rank_zero import rank_zero_only
2. ImportError: cannot import name 'VectorQuantizer2' from 'taming.modules.vqvae.quantize'
问题详细描述:
from taming.modules.vqvae.quantize import VectorQuantizer2 as VectorQuantizer
ImportError: cannot import name 'VectorQuantizer2' from 'taming.modules.vqvae.quantize'
原因:新的taming版本不存在VectorQuantizer2
解决方案:
解决方案:将
from taming.modules.vqvae.quantize import VectorQuantizer2 as VectorQuantizer
修改为:
from taming.modules.vqvae.quantize import VectorQuantizer
2. parser = Trainer.add_argparse_args(parser)
问题详细描述:
parser = Trainer.add_argparse_args(parser)
AttributeError: type object 'Trainer' has no attribute 'add_argparse_args'
原因:因为pytorch-lightening 2.x已经不兼容1.x。
解决方案:将 pytorch-lightning降级, 可以尝试
pip install pytorch-lightning==1.9.4