将代码里所有

’num_workers'设为0

报错信息 "Can't pickle local object 'get_dataset.<locals>.<lambda>'" 通常出现在使用多进程加载数据时,特别是在使用 Python 的 multiprocessing 模块时。这个错误是由于 Python 无法将局部函数(local function)序列化(pickle)导致的。在多进程数据加载过程中,数据加载器会尝试将数据集对象以及相关的函数传递给子进程,但某些函数可能是局部函数,不能被序列化。

num_workers 设置为 0 可能会解决这个问题,因为当 num_workers 为 0 时,数据加载将在主进程中进行,不涉及子进程。这意味着不需要序列化局部函数,因此不会出现上述错误。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐