1. 环境信息
硬件环境(Ascend/GPU/CPU): Ascend 910
MindSpore版本: 2.2.10
执行模式(PyNative/ Graph):Graph
Python版本: 不限
操作系统平台: linux
2. 报错信息
Process ForkServerPoolWorker-6:
Traceback (most recent call last):
File "/root/miniconda3/envs/ms21_py38/lib/python3.8/multiprocessing/pool.py", line 13l, in worker
put((job, i, result))
File "/root/miniconda3/envs/ms21_py38/lib/python3.8/multiprocessing/queues.py", line368, in put
self._writer.send_bytes(obj)
File "/root/miniconda3/envs/ms21_py38/lib/python3.8/multiprocessing/connection.py", line 200, in send bytes
self. send bytes(mloffset:of fset + size])
File "/root/miniconda3/envs/ms21_py38/lib/python3.8/multiprocessing/connection.py", line 41l, in _send bytes
self. send(header + buf)
File "/root/miniconda3/envs/ms21_py38/lib/python3.8/multiprocessing/connection.py", line 368, in _send
n = write(self. handle, buf)
BrokenPipeError: [Errno32] Broken pipe
3. 根因分析
报错信息为读写失败,定位方向为:查看代码中,是否有往磁盘读写文件的操作
原因:
context.set_context(mode=context.GRAPH_MODE, device_target=opt.device_target, enable_compile_cache=True, compile_cache_path="./cache", max_call_depth=4096)
代码中开启了编译缓存,但写入的路径,本地没有。
4. 解决方案
修改context为
context.set_context(mode=context.GRAPH_MODE, device_target=opt.device_target, max_call_depth=4096)
删除enable_compile_cache=True, compile_cache_path="./cache"