PyTorch Lightning Bolts导入错误问题求助
问题解决:pl_bolts导入时出现ImportError: cannot import name 'LightningLoggerBase'
问题详情
通过以下命令安装依赖:
!pip install pytorch-lightning --upgrade !pip install pytorch-lightning-bolts
执行import pl_bolts时触发错误:
ImportError Traceback (most recent call last) in <cell line: 1>() ----> 1 import pl_bolts 2 frames /usr/local/lib/python3.10/dist-packages/pl_bolts/callbacks/data_monitor.py in 4 import torch 5 from pytorch_lightning import Callback, LightningModule, Trainer ----> 6 from pytorch_lightning.loggers import LightningLoggerBase, TensorBoardLogger, WandbLogger 7 from pytorch_lightning.utilities import rank_zero_warn 8 from pytorch_lightning.utilities.apply_func import apply_to_collection ImportError: cannot import name 'LightningLoggerBase' from 'pytorch_lightning.loggers' (/usr/local/lib/python3.10/dist-packages/pytorch_lightning/loggers/__init__.py)
当前环境版本:
- Python:3.10.11
- Torch:2.0.0+cu118
- Torchvision:0.15.1+cu118
- PyTorch-Lightning:2.0.2
- PyTorch-Lightning-Bolts:0.6.0.post1
原因分析
pl_bolts 0.6.0.post1是稳定版,仅兼容PyTorch Lightning 1.x系列。而你安装的PyTorch Lightning 2.0.2中,LightningLoggerBase基类已被移除(替换为Logger类),导致旧版pl_bolts的导入逻辑失效。
解决方案
方案1:降级PyTorch Lightning到兼容版本(推荐)
安装适配pl_bolts 0.6.x的PyTorch Lightning 1.9.5:
!pip install pytorch-lightning==1.9.5 --force-reinstall
重新运行import pl_bolts即可正常导入。
方案2:使用pl_bolts开发分支适配PL 2.x(不稳定)
若需保留PyTorch Lightning 2.0+,可安装pl_bolts的最新开发分支:
!pip install git+https://github.com/Lightning-AI/lightning-bolts.git@master
注意:开发分支可能存在未修复的bug,生产环境优先选择方案1。
内容的提问来源于stack exchange,提问作者Gimhan Attanayake
相关产品推荐
相关产品推荐

