Closed GoooIce closed 4 years ago
I tried
python demo_imitator.py --gpu_ids 0
, and I can run it with imitator.personalize.
edit demo_imitator.py:48
# adaptive_personalize(test_opt, imitator, visualizer=None)
# else:
# imitator.personalize(test_opt.src_path, visualizer=None)
imitator.personalize(test_opt.src_path, visualizer=None)
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 ???
Solve in run_imitator.py ???
yes, same like demo_imitator.py
@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
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