Python 为什么我的代码只在GoogleColab中工作,而在我的本地机器上不工作?

Python 为什么我的代码只在GoogleColab中工作,而在我的本地机器上不工作?,python,lambda,jupyter-notebook,google-colaboratory,jupyter-lab,Python,Lambda,Jupyter Notebook,Google Colaboratory,Jupyter Lab,我尝试在GoogleColab中运行代码,效果很好。如果我在家用电脑上运行,或者将Google Colab与本地电脑连接,则会出现以下错误: EOFError: Ran out of input AttributeError: Can't pickle local object 'main.<locals>.<lambda>' 在 我知道我不能pickle lambda函数,但它在googlecolab中确实有效。但由于时间和计算能力的原因,我需要在本地计算机上运行它

我尝试在GoogleColab中运行代码,效果很好。如果我在家用电脑上运行,或者将Google Colab与本地电脑连接,则会出现以下错误:

EOFError: Ran out of input

AttributeError: Can't pickle local object 'main.<locals>.<lambda>'

我知道我不能pickle lambda函数,但它在googlecolab中确实有效。但由于时间和计算能力的原因,我需要在本地计算机上运行它


我在PyCharm和JupyterNotebook以及Colab和本地计算机(通过Jupyter)中试过,但都没有成功。错误也不是因为导入版本,我也尝试了更新的版本,它在Google Colab中工作。

对于其他正在寻找解决此问题的方法的人: 该功能不应是:

collate_fn=lambda x: data_processing(x, 'valid'))
应该是

collate_fn=data_processing

(没有括号和参数;“valid”参数是多余的)

Colab和本地计算机上的Python版本是否相同?它们是什么?我有Python 3.8.5,Google Colab有3.7.10。这有区别吗?可能。如果使用一个版本的Python对数据进行pickle处理,则在使用其他版本的Python对其进行取消pickle处理时可能会遇到困难。此外,可能是因为您有不同的包版本,这也可能是原因之一。好的,谢谢,我将尝试:)
collate_fn=lambda x: data_processing(x, 'valid'))
collate_fn=data_processing