google/tirg

Hello, an error occurred while 'train_loop' function was running

Opened this issue · 1 comments

In the functiondef 'train_loop' defined in the main function, this statement run error:
for data in tqdm(trainloader, desc='Training for epoch ' + str(epoch)):
I want to ask what changes should been made?
This is an error message:
'Training for epoch 0: 0%| | 0/594 [00:00<?, ?it/s]Traceback (most recent call last):
File "D:/毕设/tirg-master/tirg-master/main.py", line 299, in
main()
File "D:/毕设/tirg-master/tirg-master/main.py", line 294, in main
train_loop(opt, logger, trainset, testset, model, optimizer)
File "D:/毕设/tirg-master/tirg-master/main.py", line 267, in train_loop
for data in tqdm(trainloader, desc='Training for epoch ' + str(epoch)):
File "C:\ProgramData\Anaconda3\envs\pytorch\lib\site-packages\tqdm\std.py", line 1108, in iter
for obj in iterable:
File "C:\ProgramData\Anaconda3\envs\pytorch\lib\site-packages\torch\utils\data\dataloader.py", line 279, in iter
return _MultiProcessingDataLoaderIter(self)
File "C:\ProgramData\Anaconda3\envs\pytorch\lib\site-packages\torch\utils\data\dataloader.py", line 719, in init
w.start()
File "C:\ProgramData\Anaconda3\envs\pytorch\lib\multiprocessing\process.py", line 105, in start
self._popen = self._Popen(self)
File "C:\ProgramData\Anaconda3\envs\pytorch\lib\multiprocessing\context.py", line 212, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "C:\ProgramData\Anaconda3\envs\pytorch\lib\multiprocessing\context.py", line 313, in _Popen
return Popen(process_obj)
File "C:\ProgramData\Anaconda3\envs\pytorch\lib\multiprocessing\popen_spawn_win32.py", line 66, in init
reduction.dump(process_obj, to_child)
File "C:\ProgramData\Anaconda3\envs\pytorch\lib\multiprocessing\reduction.py", line 59, in dump
ForkingPickler(file, protocol).dump(obj)
AttributeError: Can't pickle local object 'BaseDataset.get_loader..'
Training for epoch 0: 0%| | 0/594 [00:01<?, ?it/s]'

Looking forward to your reply,Thank you very much.

maybe --loader_num_workers=0 will help
Or try on systems other than windows