google / tirg

deep learning, image retrieval, vision and language
Apache License 2.0
296 stars 85 forks source link

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

Open JOY-chen811 opened 4 years ago

JOY-chen811 commented 4 years ago

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.

lugiavn commented 4 years ago

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