欢迎学习交流!
邮箱: 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平台下运行效果运行效果如下: