CCPD icon indicating copy to clipboard operation
CCPD copied to clipboard

cannot run demo.py, what does it mean?

Open axltfytx opened this issue 5 years ago • 5 comments

torch-0.4.1 imutils-0.5.1 cuda9.2 opencv 3.4.4: cv2.cp36-win_amd64.pyd


PS E:\sourcecode\CCPD\rpnet> python3 demo.py -i E:/sourcecode/CCPD/rpnet/demo/ -m E:/sourcecode/CCPD/fh02.pth True True Traceback (most recent call last): File "", line 1, in File "D:\Anaconda3\lib\multiprocessing\spawn.py", line 105, in spawn_main exitcode = _main(fd) File "D:\Anaconda3\lib\multiprocessing\spawn.py", line 114, in _main prepare(preparation_data) File "D:\Anaconda3\lib\multiprocessing\spawn.py", line 225, in prepare _fixup_main_from_path(data['init_main_from_path']) File "D:\Anaconda3\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path run_name="mp_main") File "D:\Anaconda3\lib\runpy.py", line 263, in run_path pkg_name=pkg_name, script_name=fname) File "D:\Anaconda3\lib\runpy.py", line 96, in _run_module_code mod_name, mod_spec, pkg_name, script_name) File "D:\Anaconda3\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "E:\sourcecode\CCPD\rpnet\demo.py", line 265, in for i, (XI, ims) in enumerate(trainloader): File "D:\Anaconda3\lib\site-packages\torch\utils\data\dataloader.py", line 501, in iter return _DataLoaderIter(self) File "D:\Anaconda3\lib\site-packages\torch\utils\data\dataloader.py", line 289, in init w.start() File "D:\Anaconda3\lib\multiprocessing\process.py", line 105, in start self._popen = self._Popen(self) File "D:\Anaconda3\lib\multiprocessing\context.py", line 223, in _Popen return _default_context.get_context().Process._Popen(process_obj) File "D:\Anaconda3\lib\multiprocessing\context.py", line 322, in _Popen return Popen(process_obj) File "D:\Anaconda3\lib\multiprocessing\popen_spawn_win32.py", line 33, in init prep_data = spawn.get_preparation_data(process_obj._name) File "D:\Anaconda3\lib\multiprocessing\spawn.py", line 143, in get_preparation_data _check_not_importing_main() File "D:\Anaconda3\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.

Traceback (most recent call last): File "demo.py", line 265, in for i, (XI, ims) in enumerate(trainloader): File "D:\Anaconda3\lib\site-packages\torch\utils\data\dataloader.py", line 330, in next idx, batch = self._get_batch() File "D:\Anaconda3\lib\site-packages\torch\utils\data\dataloader.py", line 309, in _get_batch return self.data_queue.get() File "D:\Anaconda3\lib\multiprocessing\queues.py", line 335, in get res = self._reader.recv_bytes() File "D:\Anaconda3\lib\multiprocessing\connection.py", line 216, in recv_bytes buf = self._recv_bytes(maxlength) File "D:\Anaconda3\lib\multiprocessing\connection.py", line 306, in _recv_bytes [ov.event], False, INFINITE) KeyboardInterrupt

axltfytx avatar Nov 29 '18 09:11 axltfytx

anyone help?

axltfytx avatar Dec 04 '18 16:12 axltfytx

PyTorch's multi-threaded library is not working properly under Windows. So you need to add

if __name__ == '__main__':

to the main code.

However, when I modify this, I still get errors. Other problems, I guess.

summmeer avatar Jan 06 '19 10:01 summmeer

Hi,bro i meet the same problem with you .Have you solved it? Appreciate

guokeDai avatar May 11 '19 10:05 guokeDai

same problem, can anyone help with it on Windows?

liuqc11 avatar Jun 18 '19 09:06 liuqc11

Do as @summmeer said. Add if __name__ == '__main__': and nest all code inside it for a quick fix. However I find other errors after it.

ggsggs avatar Jul 12 '19 15:07 ggsggs