Pytorch-lightning导入报错:无法导入_TRANSFORMERS_GREATER_EQUAL_4_4
问题描述
执行以下导入代码:
import torch from torch.nn import functional as F from torch import nn from torch.utils.data import TensorDataset, DataLoader from torchvision import datasets, transforms from pytorch_lightning.core.lightning import LightningModule from pytorch_lightning import Trainer from torchmetrics.functional.classification.accuracy import accuracy
出现如下导入错误:
--------------------------------------------------------------------------- ImportError Traceback (most recent call last) Cell In[77], line 8 4 from torch.utils.data import TensorDataset, DataLoader 6 from torchvision import datasets, transforms ----> 8 from pytorch_lightning.core.lightning import LightningModule 9 from pytorch_lightning import Trainer 10 from torchmetrics.functional.classification.accuracy import accuracy File d:\anaconda3\envs\dl\Lib\site-packages\pytorch_lightning\__init__.py:26 23 _logger.propagate = False 25 from lightning_fabric.utilities.seed import seed_everything # noqa: E402 ---> 26 from pytorch_lightning.callbacks import Callback # noqa: E402 27 from pytorch_lightning.core import LightningDataModule, LightningModule # noqa: E402 28 from pytorch_lightning.trainer import Trainer # noqa: E402 File d:\anaconda3\envs\dl\Lib\site-packages\pytorch_lightning\callbacks\__init__.py:14 1 # Copyright The Lightning AI team. 2 # 3 # Licensed under the Apache License, Version 2.0 (the "License"); (...) 12 # See the License for the specific language governing permissions and 13 # limitations under the License. ---> 14 from pytorch_lightning.callbacks.batch_size_finder import BatchSizeFinder 15 from pytorch_lightning.callbacks.callback import Callback ... ---> 28 from torchmetrics.utilities.imports import _TRANSFORMERS_GREATER_EQUAL_4_4 30 if _TRANSFORMERS_GREATER_EQUAL_4_4: 31 from torchmetrics.functional.text.bert import bert_score ImportError: cannot import name '_TRANSFORMERS_GREATER_EQUAL_4_4' from 'torchmetrics.utilities.imports' (d:\anaconda3\envs\dl\Lib\site-packages\torchmetrics\utilities\imports.py)
尝试重装torch、pytorch-lightning及安装旧版本pytorch-lightning均未解决。将torchmetrics降级至0.7.0后,报错变为:
ImportError: cannot import name 'pit' from 'torchmetrics.functional.audio.pit' (d:\anaconda3\envs\dl\Lib\site-packages\torchmetrics\functional\audio\pit.py)
解决方案
这是PyTorch Lightning和TorchMetrics版本不兼容导致的依赖问题,按以下步骤操作即可解决:
先卸载现有相关包:
pip uninstall -y pytorch-lightning torchmetrics安装经过验证的兼容版本(根据你的PyTorch版本选其一):
- 若使用PyTorch 1.12及以下,选这个稳定组合:
pip install pytorch-lightning==1.9.5 torchmetrics==0.11.4 - 若使用PyTorch 2.x,可选这个较新组合:
pip install pytorch-lightning==2.0.9 torchmetrics==0.11.4
- 若使用PyTorch 1.12及以下,选这个稳定组合:
重新运行原导入代码,确认无报错即可。
注意:不要单独升级或降级某一个包,PyTorch Lightning对TorchMetrics的版本有明确要求,安装时必须保持两者版本匹配。
内容的提问来源于stack exchange,提问作者Karol
相关产品推荐
相关产品推荐

