AttributeError: Can't pickle local object 'MiniImageNet.__init__.<locals>.convert_raw'

本人正在学习机器学习,在利用miniImageNet尝试训练一种元学习分类器,执行代码为


python train_classifier.py --config configs/train_classifier_mini.yaml

但是出现了大量报错:

img

Traceback (most recent call last):
  File "train_classifier.py", line 279, in <module>
    main(config)
  File "train_classifier.py", line 147, in main
    for data, label in tqdm(train_loader, desc='train', leave=False):
  File "D:\ProgramData\Anaconda3\envs\pytorch\lib\site-packages\tqdm\std.py", line 1180, in __iter__
    for obj in iterable:
  File "D:\ProgramData\Anaconda3\envs\pytorch\lib\site-packages\torch\utils\data\dataloader.py", line 359, in __iter__
    return self._get_iterator()
  File "D:\ProgramData\Anaconda3\envs\pytorch\lib\site-packages\torch\utils\data\dataloader.py", line 305, in _get_iterator
    return _MultiProcessingDataLoaderIter(self)
  File "D:\ProgramData\Anaconda3\envs\pytorch\lib\site-packages\torch\utils\data\dataloader.py", line 918, in __init__
    w.start()
  File "D:\ProgramData\Anaconda3\envs\pytorch\lib\multiprocessing\process.py", line 105, in start
    self._popen = self._Popen(self)
  File "D:\ProgramData\Anaconda3\envs\pytorch\lib\multiprocessing\context.py", line 223, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "D:\ProgramData\Anaconda3\envs\pytorch\lib\multiprocessing\context.py", line 322, in _Popen
    return Popen(process_obj)
  File "D:\ProgramData\Anaconda3\envs\pytorch\lib\multiprocessing\popen_spawn_win32.py", line 65, in __init__
    reduction.dump(process_obj, to_child)
  File "D:\ProgramData\Anaconda3\envs\pytorch\lib\multiprocessing\reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
AttributeError: Can't pickle local object 'MiniImageNet.__init__.<locals>.convert_raw'

请问各位这些是什么意思,且如何解决?

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。