news 2026/5/16 12:07:57

lib\multiprocessing\spawn.py“, line xxx, in _main self = reduction.pickle.load(from_parent) EOFError

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
lib\multiprocessing\spawn.py“, line xxx, in _main self = reduction.pickle.load(from_parent) EOFError

问题:运行图像任务py脚本报错

\torch_py310\lib\multiprocessing\spawn.py", line 126, in _main self = reduction.pickle.load(from_parent) EOFError: Ran out of input

解决方法:

报错根因(一句话)

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

👉Dataset 类定义在main()函数内部,Windows 的 spawn 机制无法 pickle(序列化)它


方案一(推荐,规范做法)

修改点 1:把PVImageDataset移到main()外面

原来(错误位置)

def main(): ... class PVImageDataset(Dataset): ...

修改为(正确)

放在文件最外层(main()之前)

然后main() 里只保留使用

train_dataset = PVImageDataset(train_paths, train_labels, train_transform) val_dataset = PVImageDataset(val_paths, val_labels, val_transform)

✔ 这是标准工业级写法
✔ 保留num_workers=2
✔ 训练速度正常


方案二(临时规避,不推荐)

如果你现在只想立刻跑起来

修改点 2:把num_workers设为 0

train_loader = DataLoader( train_dataset, batch_size=BATCH_SIZE, shuffle=True, num_workers=0, # ← 改这里 pin_memory=True, ) val_loader = DataLoader( val_dataset, batch_size=BATCH_SIZE, shuffle=False, num_workers=0, # ← 改这里 pin_memory=True, )

✔ 不需要改 Dataset 位置
✘ 数据加载慢
✘ 不适合正式实验

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/6 10:41:28

面向高安全关键设施的空间视频智能感知与透明化管控关键技术研究

发布单位&#xff1a;镜像视界&#xff08;浙江&#xff09;科技有限公司本白皮书由镜像视界&#xff08;浙江&#xff09;科技有限公司基于其在空间视频智能感知、多源信息融合与空间态势管控领域的持续技术研究与工程实践编制完成。白皮书面向高安全关键设施这一典型复杂应用…

作者头像 李华
网站建设 2026/5/8 18:44:04

AI绘画入门指南:5步掌握Stable Diffusion图像生成技术

还在为复杂的AI绘画工具而头疼吗&#xff1f;&#x1f914; 看着别人用简单的文字描述就能生成惊艳的图片&#xff0c;自己却无从下手&#xff1f;别担心&#xff0c;今天我将带你从零开始&#xff0c;轻松掌握AI绘画的核心技巧&#xff0c;让你也能成为AI艺术创作的高手&#…

作者头像 李华
网站建设 2026/5/12 11:59:19

深度解析LyricsX:桌面歌词显示的完美解决方案

深度解析LyricsX&#xff1a;桌面歌词显示的完美解决方案 【免费下载链接】Lyrics Swift-based iTunes plug-in to display lyrics on the desktop. 项目地址: https://gitcode.com/gh_mirrors/lyr/Lyrics 你是否曾经在享受音乐时&#xff0c;渴望能够实时看到同步的歌词…

作者头像 李华