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

pickle.load?win10 #3

Closed
GoooIce opened this issue Sep 28, 2019 · 4 comments
Closed

pickle.load?win10 #3

GoooIce opened this issue Sep 28, 2019 · 4 comments

Comments

@GoooIce
Copy link

GoooIce commented Sep 28, 2019

win10 64 python373

what i run:

python run_imitator.py --gpu_ids 0 --model imitator --output_dir ./outputs/results/ --src_path ./assets/src_imgs/internet/men1_256.jpg --tgt_path ./assets/samples/ref_imgs/024_8_2 --has_detector --post_tune --front_warp --save_res

Traceback

(most recent call last):
File "run_imitator.py", line 225, in
adaptive_personalize(test_opt, imitator, visualizer)
File "run_imitator.py", line 209, in adaptive_personalize
imitator.post_personalize(opt.output_dir, loader, visualizer=None, verbose=False)
File "J:\impersonator\models\imitator.py", line 423, in post_personalize
for i, sample in enumerate(data_loader):
File "C:\Users\goooice\Anaconda3\envs\ml\lib\site-packages\torch\utils\data\dataloader.py", line 278, in iter
return _MultiProcessingDataLoaderIter(self)
File "C:\Users\goooice\Anaconda3\envs\ml\lib\site-packages\torch\utils\data\dataloader.py", line 682, in init
w.start()
File "C:\Users\goooice\Anaconda3\envs\ml\lib\multiprocessing\process.py", line 112, in start
self._popen = self._Popen(self)
File "C:\Users\goooice\Anaconda3\envs\ml\lib\multiprocessing\context.py", line 223, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "C:\Users\goooice\Anaconda3\envs\ml\lib\multiprocessing\context.py", line 322, in _Popen
return Popen(process_obj)
File "C:\Users\goooice\Anaconda3\envs\ml\lib\multiprocessing\popen_spawn_win32.py", line 89, in init
reduction.dump(process_obj, to_child)
File "C:\Users\goooice\Anaconda3\envs\ml\lib\multiprocessing\reduction.py", line 60, in dump
ForkingPickler(file, protocol).dump(obj)
_pickle.PicklingError: Can't pickle <class 'main.MetaCycleDataSet'>: attribute lookup MetaCycleDataSet on main failed


Traceback (most recent call last):
File "", line 1, in
File "C:\Users\goooice\Anaconda3\envs\ml\lib\multiprocessing\spawn.py", line 105, in spawn_main
exitcode = _main(fd)
File "C:\Users\goooice\Anaconda3\envs\ml\lib\multiprocessing\spawn.py", line 115, in _main
self = reduction.pickle.load(from_parent)
EOFError: Ran out of input

@GoooIce
Copy link
Author

GoooIce commented Sep 28, 2019

I tried
python demo_imitator.py --gpu_ids 0
, and I can run it with imitator.personalize.

edit demo_imitator.py:48
# if test_opt.post_tune:
# adaptive_personalize(test_opt, imitator, visualizer=None)
# else:
# imitator.personalize(test_opt.src_path, visualizer=None)
imitator.personalize(test_opt.src_path, visualizer=None)

@GoooIce GoooIce closed this as completed Sep 28, 2019
@JinglUO703
Copy link

win10 64 python373

what i run:

python run_imitator.py --gpu_ids 0 --model imitator --output_dir ./outputs/results/ --src_path ./assets/src_imgs/internet/men1_256.jpg --tgt_path ./assets/samples/ref_imgs/024_8_2 --has_detector --post_tune --front_warp --save_res

Traceback

(most recent call last):
File "run_imitator.py", line 225, in
adaptive_personalize(test_opt, imitator, visualizer)
File "run_imitator.py", line 209, in adaptive_personalize
imitator.post_personalize(opt.output_dir, loader, visualizer=None, verbose=False)
File "J:\impersonator\models\imitator.py", line 423, in post_personalize
for i, sample in enumerate(data_loader):
File "C:\Users\goooice\Anaconda3\envs\ml\lib\site-packages\torch\utils\data\dataloader.py", line 278, in iter
return _MultiProcessingDataLoaderIter(self)
File "C:\Users\goooice\Anaconda3\envs\ml\lib\site-packages\torch\utils\data\dataloader.py", line 682, in init
w.start()
File "C:\Users\goooice\Anaconda3\envs\ml\lib\multiprocessing\process.py", line 112, in start
self._popen = self._Popen(self)
File "C:\Users\goooice\Anaconda3\envs\ml\lib\multiprocessing\context.py", line 223, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "C:\Users\goooice\Anaconda3\envs\ml\lib\multiprocessing\context.py", line 322, in _Popen
return Popen(process_obj)
File "C:\Users\goooice\Anaconda3\envs\ml\lib\multiprocessing\popen_spawn_win32.py", line 89, in init
reduction.dump(process_obj, to_child)
File "C:\Users\goooice\Anaconda3\envs\ml\lib\multiprocessing\reduction.py", line 60, in dump
ForkingPickler(file, protocol).dump(obj)
_pickle.PicklingError: Can't pickle <class 'main.MetaCycleDataSet'>: attribute lookup MetaCycleDataSet on main failed

Traceback (most recent call last):
File "", line 1, in
File "C:\Users\goooice\Anaconda3\envs\ml\lib\multiprocessing\spawn.py", line 105, in spawn_main
exitcode = _main(fd)
File "C:\Users\goooice\Anaconda3\envs\ml\lib\multiprocessing\spawn.py", line 115, in _main
self = reduction.pickle.load(from_parent)
EOFError: Ran out of input

Solve in run_imitator.py ???

@GoooIce
Copy link
Author

GoooIce commented Oct 2, 2019

Solve in run_imitator.py ???

yes, same like demo_imitator.py

@piaozhx
Copy link
Member

piaozhx commented Oct 2, 2019

@GoooIce @JinglUO703 Just using imitator.personalize instead of adaptive_personalize may get worse result. The pickle problem is caused by multiprocessing of windows, you can solve it by #12

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

3 participants