Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot run train.py #5

Closed
ghost opened this issue Feb 8, 2020 · 0 comments
Closed

Cannot run train.py #5

ghost opened this issue Feb 8, 2020 · 0 comments

Comments

@ghost
Copy link

ghost commented Feb 8, 2020

Hello,

I try to run train.py and follow the setup, but I cannot create environment by the .yml of MapNet because packages are incompatible with each other. Therefore, I created an environment myself. My system is Win 10 and CUDA is 9.2. The below are the packages I installed (via pip):

python = 3.7
torch = 0.4.1
torchvision = 0.2.1
pillow = 6.1.0
tensorvoardX = 1.4
numpy-quaternion
transforms3d
numba
scipy

Then I run train.py and get the following error:

1 False
Epoch 0 checkpoint saved for VLocNet
Traceback (most recent call last):
  File "train.py", line 207, in <module>
	trainer.train_val()
  File "C:\Users\Tu\GitHub\VLocNet\model\trainer.py", line 396, in train_val
	for batch_idx, (data, target) in enumerate(self.train_loader):
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\site-packages\torch\utils\data\dataloader.py", line 501, in __iter__
	return _DataLoaderIter(self)
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\site-packages\torch\utils\data\dataloader.py", line 289, in __init__
	w.start()
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\multiprocessing\process.py", line 112, in start
	self._popen = self._Popen(self)
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\multiprocessing\context.py", line 223, in _Popen
	return _default_context.get_context().Process._Popen(process_obj)
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\multiprocessing\context.py", line 322, in _Popen
	return Popen(process_obj)
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\multiprocessing\popen_spawn_win32.py", line 89, in __init__
	reduction.dump(process_obj, to_child)
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\multiprocessing\reduction.py", line 60, in dump
	ForkingPickler(file, protocol).dump(obj)
_pickle.PicklingError: Can't pickle <function <lambda> at 0x0000024739E4E048>: attribute lookup <lambda> on __main__ failed

1 False
Epoch 0 checkpoint saved for VLocNet
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\multiprocessing\spawn.py", line 105, in spawn_main
	exitcode = _main(fd)
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\multiprocessing\spawn.py", line 114, in _main
	prepare(preparation_data)
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\multiprocessing\spawn.py", line 225, in prepare
	_fixup_main_from_path(data['init_main_from_path'])
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path
	run_name="__mp_main__")
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\runpy.py", line 263, in run_path
	pkg_name=pkg_name, script_name=fname)
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\runpy.py", line 96, in _run_module_code
	mod_name, mod_spec, pkg_name, script_name)
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\runpy.py", line 85, in _run_code
	exec(code, run_globals)
  File "C:\Users\Tu\GitHub\VLocNet\train.py", line 207, in <module>
	trainer.train_val()
  File "C:\Users\Tu\GitHub\VLocNet\model\trainer.py", line 396, in train_val
	for batch_idx, (data, target) in enumerate(self.train_loader):
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\site-packages\torch\utils\data\dataloader.py", line 501, in __iter__
	return _DataLoaderIter(self)
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\site-packages\torch\utils\data\dataloader.py", line 289, in __init__
	w.start()
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\multiprocessing\process.py", line 112, in start
	self._popen = self._Popen(self)
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\multiprocessing\context.py", line 223, in _Popen
	return _default_context.get_context().Process._Popen(process_obj)
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\multiprocessing\context.py", line 322, in _Popen
	return Popen(process_obj)
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\multiprocessing\popen_spawn_win32.py", line 46, in __init__
	prep_data = spawn.get_preparation_data(process_obj._name)
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\lib\multiprocessing\spawn.py", line 143, in get_preparation_data
	_check_not_importing_main()
  File "C:\Users\Tu\Miniconda3\envs\VLocNet\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.

		This probably means that you are not using fork to start your
		child processes and you have forgotten to use the proper idiom
		in the main module:

			if __name__ == '__main__':
				freeze_support()
				...

		The "freeze_support()" line can be omitted if the program
		is not going to be frozen to produce an executable.

It looks like multiprocessing problem, but I can't solve it. And I think the problem maybe is version of the packages. Could you give me your packages' version?

Thanks.

@ghost ghost closed this as completed May 18, 2022
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

0 participants