当我尝试进行以下导入时:
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 lighting。我也尝试安装旧版本的 pytorch-lightining 但没有任何帮助。
编辑: 将 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)
创建新的 conda 环境并重新安装所有库有帮助。我还注意到我使用了旧版本的 pytorch 导入,因此有必要进行更改
from pytorch_lightning.core.lightning import LightningModule
到 import lightning.pytorch as pl
,然后根据文档使用 pl.LightningModule
:https://lightning.ai/docs/pytorch/stable/starter/introduction.html