模型训练中_pickle.PicklingError: Can’t pickle问题解决办法

在Windows环境下使用SiamFC模型训练时遇到_pickle.PicklingError: Can't pickle <class 'pairwise.GenericDict'>错误。问题源于Dataloader,在Window平台下将num_workers设为0即可解决。此问题源于代码在Linux环境下编写,不完全兼容Windows。修改后在PyCharm下运行正常。
摘要由CSDN通过智能技术生成

模型训练中_pickle.PicklingError: Can't pickle问题解决办法

欢迎学习交流!
邮箱: z…@1…6.com
网站: https://zephyrhours.github.io/

一、问题描述

最近在学习 SiamFC 模型的目标跟踪模型时,发现在window平台进行模型训练时总是出现下面的问题:

_pickle.PicklingError: Can’t pickle <class ‘pairwise.GenericDict’>: attribute lookup GenericDict on pairwise failed

具体如下图所示:
在这里插入图片描述

二、解决办法

针对下面问题,进行了一些探索和尝试,发现其主要问题是,该代码是基于Linux平台编写,test.py 在实际运行中没有问题,但是 train.py 在window平台下运行时会出现问题,其主要问题出在了 Dataloader 上,因此对这部分代码进行修改即可。或者直接将源代码在Linux系统下进行模型训练和测试即可。

在 Window 平台下该问题的具体解决方法如下:

  • 将原始代码中的 num_workers = 4 修改为 num_workers = 0 即可正常运行,具体如下:
    在这里插入图片描述
    修改完成后,在Pycharm平台下运行效果运行效果如下:
    在这里插入图片描述
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

独不懂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值