在使用python多进程(multiprocessing)时,程序可能会报“Ran out of input”错误。从报错结果上来看,一般是传入的数据无法读取。因此,在确定程序没有其它问题(如文件冲突、数据为空等),我们可以改变读取数据的结构,然后在进程内对数据进行重新组装。
这种错误可能会在不同电脑上表现不一样,或者说跟环境相关。同样的程序,有的电脑环境能正常运行,有的则会报上述错误。下面将以open3d多进程为例,其报错具体内容如下所示。
File "D:\ProgramData\Anaconda3\lib\multiprocessing\process.py", line 112, in start
self._popen = self._Popen(self)
File "D:\ProgramData\Anaconda3\lib\multiprocessing\context.py", line 223, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "D:\ProgramData\A