Open raylooi opened 5 years ago
does this mean the train.py needs to add "if name == 'main': "?
as in
if name == 'main':
model = train_model(model, criterion, optimizer, exp_lr_scheduler,
num_epochs = args.num_epoch)
but i still get the error. anyone knows what needs to be changed here?
@raylooi Please put '' if name == ' main': '' before '' parser = argparse.ArgumentParser(description='Training') '', you can solve this problem.
(base) D:\codes\Person-Attribute-Recognition-MarketDuke-master>python train.py --data-path dataset --dataset duke --model resnet50
Traceback (most recent call last): File "", line 1, in
File "D:\Anaconda\lib\multiprocessing\spawn.py", line 105, in spawn_main
exitcode = _main(fd)
File "D:\Anaconda\lib\multiprocessing\spawn.py", line 114, in _main
prepare(preparation_data)
File "D:\Anaconda\lib\multiprocessing\spawn.py", line 225, in prepare
_fixup_main_from_path(data['init_main_from_path'])
File "D:\Anaconda\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path
Traceback (most recent call last):
File "train.py", line 101, in
run_name="__mp_main")
File "D:\Anaconda\lib\runpy.py", line 263, in run_path
images, indices, labels, ids, cams, names = next(iter(dataloaders['train']))
pkg_name=pkg_name, script_name=fname) File "D:\Anaconda\lib\site-packages\torch\utils\data\dataloader.py", line 193, in iter__
return _DataLoaderIter(self) File "D:\Anaconda\lib\site-packages\torch\utils\data\dataloader.py", line 469, in init mod_name, mod_spec, pkg_name, script_name) w.start() File "D:\Anaconda\lib\runpy.py", line 85, in _run_code
exec(code, run_globals) File "D:\codes\Person-Attribute-Recognition-MarketDuke-master\train.py", line 101, in
self._popen = self._Popen(self)
images, indices, labels, ids, cams, names = next(iter(dataloaders['train'])) File "D:\Anaconda\lib\multiprocessing\context.py", line 223, in _Popen
return _default_context.get_context().Process._Popen(process_obj) return _DataLoaderIter(self) File "D:\Anaconda\lib\multiprocessing\context.py", line 322, in _Popen
File "D:\Anaconda\lib\site-packages\torch\utils\data\dataloader.py", line 469, in init return Popen(process_obj)w.start()
File "D:\Anaconda\lib\multiprocessing\popen_spawn_win32.py", line 89, in init File "D:\Anaconda\lib\multiprocessing\process.py", line 112, in start reduction.dump(process_obj, to_child)self._popen = self._Popen(self)
File "D:\Anaconda\lib\multiprocessing\reduction.py", line 60, in dump File "D:\Anaconda\lib\multiprocessing\context.py", line 223, in _Popen ForkingPickler(file, protocol).dump(obj)return _default_context.get_context().Process._Popen(process_obj)
BrokenPipeError File "D:\Anaconda\lib\multiprocessing\context.py", line 322, in _Popen : [Errno 32] Broken pipereturn Popen(process_obj)
File "D:\Anaconda\lib\multiprocessing\popen_spawn_win32.py", line 46, in init prep_data = spawn.get_preparation_data(process_obj._name) File "D:\Anaconda\lib\multiprocessing\spawn.py", line 143, in get_preparation_data _check_not_importing_main() File "D:\Anaconda\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.