Closed Eswar1991 closed 4 years ago
I have never encountered this problem, maybe you can try not to use tqdm https://github.com/ZF1044404254/TBMSL-Net/blob/f5b442d1226b0a3afa365c09895ec025b578de15/test.py#L53
It was an issue in torch DataLoader. For Windows, num_workers>0 doesn't work. So, I Changed num_workers from 8 to 0 in utils/read_dataset.py, line 31-32:
testloader = torch.utils.data.DataLoader(testset, batch_size=batch_size, shuffle=False, num_workers=8, drop_last=False)
It solved the issue.
I trained TBMSL-NET on my custom data set. During the evaluation using the test.py, I am getting the following error:
Testing 0%| | 0/15 [00:00<?, ?it/s] Traceback (most recent call last): File "", line 1, in
Traceback (most recent call last):
File "test.py", line 58, in
File "E:\Anaconda3\envs\tbmsl_net\lib\multiprocessing\spawn.py", line 105, in spawn_main
for i, data in enumerate(tqdm(testloader)):
File "E:\Anaconda3\envs\tbmsl_net\lib\site-packages\tqdm\std.py", line 1104, in iter
exitcode = _main(fd)
File "E:\Anaconda3\envs\tbmsl_net\lib\multiprocessing\spawn.py", line 114, in _main
prepare(preparation_data)
File "E:\Anaconda3\envs\tbmsl_net\lib\multiprocessing\spawn.py", line 225, in prepare
_fixup_main_from_path(data['init_main_from_path'])
File "E:\Anaconda3\envs\tbmsl_net\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path
run_name="mp_main")
File "E:\Anaconda3\envs\tbmsl_net\lib\runpy.py", line 263, in run_path
pkg_name=pkg_name, script_name=fname)
File "E:\Anaconda3\envs\tbmsl_net\lib\runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "E:\Anaconda3\envs\tbmsl_net\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "F:\Codes\TBMSL-Net\test.py", line 58, in
for i, data in enumerate(tqdm(testloader)):
File "E:\Anaconda3\envs\tbmsl_net\lib\site-packages\tqdm\std.py", line 1104, in iter__
for obj in iterable:
for obj in iterable:
File "E:\Anaconda3\envs\tbmsl_net\lib\site-packages\torch\utils\data\dataloader.py", line 278, in iter
File "E:\Anaconda3\envs\tbmsl_net\lib\site-packages\torch\utils\data\dataloader.py", line 278, in iter
return _MultiProcessingDataLoaderIter(self)
File "E:\Anaconda3\envs\tbmsl_net\lib\site-packages\torch\utils\data\dataloader.py", line 682, in init
return _MultiProcessingDataLoaderIter(self)
File "E:\Anaconda3\envs\tbmsl_net\lib\site-packages\torch\utils\data\dataloader.py", line 682, in init
w.start()
File "E:\Anaconda3\envs\tbmsl_net\lib\multiprocessing\process.py", line 112, in start
w.start()
File "E:\Anaconda3\envs\tbmsl_net\lib\multiprocessing\process.py", line 112, in start
self._popen = self._Popen(self)
self._popen = self._Popen(self)
File "E:\Anaconda3\envs\tbmsl_net\lib\multiprocessing\context.py", line 223, in _Popen
File "E:\Anaconda3\envs\tbmsl_net\lib\multiprocessing\context.py", line 223, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "E:\Anaconda3\envs\tbmsl_net\lib\multiprocessing\context.py", line 322, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "E:\Anaconda3\envs\tbmsl_net\lib\multiprocessing\context.py", line 322, in _Popen
return Popen(process_obj)
return Popen(process_obj)
File "E:\Anaconda3\envs\tbmsl_net\lib\multiprocessing\popen_spawn_win32.py", line 89, in init__
File "E:\Anaconda3\envs\tbmsl_net\lib\multiprocessing\popen_spawn_win32.py", line 46, in init
reduction.dump(process_obj, to_child)
File "E:\Anaconda3\envs\tbmsl_net\lib\multiprocessing\reduction.py", line 60, in dump
prep_data = spawn.get_preparation_data(process_obj._name)
File "E:\Anaconda3\envs\tbmsl_net\lib\multiprocessing\spawn.py", line 143, in get_preparation_data
_check_not_importing_main()
File "E:\Anaconda3\envs\tbmsl_net\lib\multiprocessing\spawn.py", line 136, in _check_not_importing_main
is not going to be frozen to produce an executable.''')
RuntimeError:
An attempt has been made to start a new process before the
current process has finished its bootstrapping phase.
BrokenPipeError: [Errno 32] Broken pipe 0%|
I also tried it on FGVC-Aircraft data set but got the same error. What can cause this?