Open guangqianqin opened 5 years ago
Run this program in linux would fix it, pytorch implements different solutions in function DataLoaderIter
,so it can't work well in windows.
Thanks a lot!
------------------ 原始邮件 ------------------ 发件人: "mellthebs"; 发送时间: 2019年7月5日(星期五) 下午5:22 收件人: "StrangerZhang/SiamFC-PyTorch"; 抄送: "guangqianqin"664933345@qq.com;"Author"; 主题: Re: [StrangerZhang/SiamFC-PyTorch] the porblem of training the model(#23)
Run this program in linux would fix it, pytorch implements different solutions in function DataLoaderIter ,so it can't work well in windows.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.
Hi, in case that you are still interested to run it in Windows 10 again. Here is a tested solution ( I have tested it on 3 PC with AMD/intel CPU and NVIDIA GPUS, so just give it a shot...).
To fix the issue, change your num_worker in config.py to 0 so that it will use the main thread (only one process) ->(multithreading/process related error is a common issue in Window).
L:\Anaconda\envs\py3\python.exe E:/Gavin/SiamFC-PyTorch-master/siamfc/train.py 0%| | 0/6650 [00:00<?, ?it/s]Traceback (most recent call last): File "E:/Gavin/SiamFC-PyTorch-master/siamfc/train.py", line 135, in
train(0 , 'E:\Gavin\data\ILSVRC_VID_CURATION')
File "E:/Gavin/SiamFC-PyTorch-master/siamfc/train.py", line 101, in train
for i, data in enumerate(tqdm(trainloader)):
File "L:\Anaconda\envs\py3\lib\site-packages\tqdm_tqdm.py", line 1005, in iter
for obj in iterable:
File "L:\Anaconda\envs\py3\lib\site-packages\torch\utils\data\dataloader.py", line 501, in iter
return _DataLoaderIter(self)
File "L:\Anaconda\envs\py3\lib\site-packages\torch\utils\data\dataloader.py", line 289, in init
w.start()
File "L:\Anaconda\envs\py3\lib\multiprocessing\process.py", line 105, in start
self._popen = self._Popen(self)
File "L:\Anaconda\envs\py3\lib\multiprocessing\context.py", line 212, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "L:\Anaconda\envs\py3\lib\multiprocessing\context.py", line 313, in _Popen
return Popen(process_obj)
File "L:\Anaconda\envs\py3\lib\multiprocessing\popen_spawn_win32.py", line 66, in init
reduction.dump(process_obj, to_child)
File "L:\Anaconda\envs\py3\lib\multiprocessing\reduction.py", line 59, in dump
ForkingPickler(file, protocol).dump(obj)
_pickle.PicklingError: Can't pickle <class 'Transaction'>: attribute lookup Transaction on builtins failed
Traceback (most recent call last):
File "", line 1, in
File "L:\Anaconda\envs\py3\lib\multiprocessing\spawn.py", line 106, in spawn_main
exitcode = _main(fd)
File "L:\Anaconda\envs\py3\lib\multiprocessing\spawn.py", line 116, in _main
self = pickle.load(from_parent)
EOFError: Ran out of input