无法在 google colab 上导入 pytorch_lightning

Posted

技术标签:

【中文标题】无法在 google colab 上导入 pytorch_lightning【英文标题】:Unable to import pytorch_lightning on google colab 【发布时间】:2021-06-06 20:11:24 【问题描述】:

我做了以下事情:

!pip install pytorch_lightning -qqq
import pytorch_lightning

但是得到以下错误:

ImportError                               Traceback (most recent call last)
<ipython-input-7-d883b15aac58> in <module>()
----> 1 import pytorch_lightning

----------------------------------9 frames------------------------------------------------
/usr/local/lib/python3.7/dist-packages/pytorch_lightning/utilities/apply_func.py in <module>()
     26 
     27 if _TORCHTEXT_AVAILABLE:
---> 28     from torchtext.data import Batch
     29 else:
     30     Batch = type(None)

ImportError: cannot import name 'Batch' from 'torchtext.data' (/usr/local/lib/python3.7/dist-packages/torchtext/data/__init__.py)

可能是什么问题?

【问题讨论】:

你试过用pip install安装吗?? 是的,如果你看第一行的话。 github.com/PyTorchLightning/pytorch-lightning/issues/6210 试试下面的!pip install torch pytorch-lightning @AviThaker github.com/PyTorchLightning/pytorch-lightning/issues/6415 以及 【参考方案1】:

如Github 上的问题 #6415 中所述,请尝试从 GitHub 安装。 它对我有用。

!pip install git+https://github.com/PyTorchLightning/pytorch-lightning
import pytorch_lightning as pl
print(pl.__version__)

输出:

1.3.0dev

似乎错误来自Issue #6210,他们说它已修复。我猜它没有上传到 PyPi。

【讨论】:

对于 Colab 用户,您可以通过重新安装(或升级)pytorch_lightning 1.3.0dev 版本来解决这个问题,除了 fsspec 之外没有任何依赖项。 !pip install git+https://github.com/PyTorchLightning/pytorch-lightning fsspec --no-deps --target=$nb_path 谢谢,我不知道这是可能的。【参考方案2】:

示例工作环境:https://colab.research.google.com/drive/1GSCd3Gz3EOQIln3v065VKWKbB3_F8xqK?usp=sharing

你可以在重启你的环境后尝试一下吗?

!pip install torchtext==0.8.0 torch==1.7.1 pytorch-lightning==1.2.2
import pytorch_lightning as pl
print(pl.__version__)
...

似乎存在一个尚未命中 pip 的错误,因为 pytorch 闪电没有引用最新的 torchtext。

【讨论】:

失败,出现 OSError 你能发送错误吗?我无法复制。除了其他命令之外,您还可以尝试使用 !pip install pytorch=1.7.1。 /usr/lib/python3.7/ctypes/__init__.py in __init__(self, name, mode, handle, use_errno, use_last_error) 362 363 if handle is None: --> 364 self. _handle = _dlopen(self._name, mode) 365 else: 366 self._handle = handle 1.7.1也不存在 !pip install torchtext==0.8.0 torch==1.7.1 pytorch-lightning==1.2.2【参考方案3】:

晚了,但是如果您在使用 PyTorch Lightning Bolts 时遇到类似的困难,您可以在发布时使用相同的策略解决它:

!pip install git+https://github.com/PyTorchLightning/lightning-bolts

【讨论】:

【参考方案4】:

似乎问题出在 pytorch-lightning==1.1.x 版本上。 1.2.x 以上版本修复了问题

但是在 PythonSnek 的回答中采用最新版本会导致稍后在保存检查点时出现其他一些错误。这可能是因为最新版本 - 1.3.0dev 尚未开发。

安装stable versions 之一的tar.gz 可以解决问题

!pip install https://github.com/PyTorchLightning/pytorch-lightning/releases/download/1.2.6/pytorch-lightning-1.2.6.tar.gz 

【讨论】:

【参考方案5】:

你可以试试这个命令,我遇到了同样的问题并且能够解决问题。

!pip install --upgrade pytorch-lightning

【讨论】:

以上是关于无法在 google colab 上导入 pytorch_lightning的主要内容,如果未能解决你的问题,请参考以下文章

将 .py 文件的整个文件夹导入 google colab

pip 安装了 google.colab,现在无法在 Jupyter 笔记本上运行代码

无法在 google colab 上完成 ngrok 隧道连接

如何在 Google Colab 上安装和使用底图?

无法在 Google Colab 上安装 Pytorch Lightning Flash

为啥该代码段无法在 Google Colab 上运行?