【发布时间】:2021-08-11 09:41:29
【问题描述】:
我尝试在 Google Colab 中运行 this 代码,它运行良好。如果我在家用计算机上运行它或将 Google Colab 与本地计算机连接,则会出现错误:
EOFError: Ran out of input
AttributeError: Can't pickle local object 'main.<locals>.<lambda>'
它们是因为这个功能而出现的:
test_loader = data.Dataloader(#Some unimportant parameters
collate_fn=lambda x: data_processing(x, 'valid'))
在
for i, _data in enumerate(test_loader):
我知道我不能腌制 lambda 函数,但它确实适用于 Google Colab。但是由于时间和计算能力的原因,我需要在本地计算机上运行它。
我在 PyCharm 和 JupyterNotebook 以及在 Colab 中使用本地计算机(通过 Jupyter)进行了尝试,但都没有工作。错误也不是因为导入版本,我也尝试了在 Google Colab 中工作的较新版本。
【问题讨论】:
-
您在 Colab 和本地计算机上的 Python 版本是否相同?它们是什么?
-
我有 Python 3.8.5 而 Google Colab 有 3.7.10。这有什么不同吗?
-
可能。如果您使用通过一个版本的 Python 腌制的数据,则在使用不同版本的 Python 取消腌制时可能会遇到困难。
-
另外,您可能有不同的软件包版本,这可能是一个原因。
-
好的,谢谢,我试试看:)
标签: python lambda jupyter-notebook google-colaboratory jupyter-lab