文档首页> AI开发平台ModelArts> 故障排除> 训练作业> 业务代码问题> MXNet创建kvstore时程序被阻塞,无报错
更新时间:2022-12-08 GMT+08:00

MXNet创建kvstore时程序被阻塞,无报错

问题现象

使用kv_store = mxnet.kv.create('dist_async')方式创建“kvstore”时程序被阻塞。如,执行如下代码,如果无法输出“end”,表明程序阻塞。

print('start')
kv_store = mxnet.kv.create('dist_async')
print('end')

原因分析

worker阻塞的原因可能是连不上server。

处理方法

将如下代码放在“启动文件”“import mxnet”之前可以看到节点间相互通信状态,同时ps能够重新发送。

import os
os.environ['PS_VERBOSE'] = '2'
os.environ['PS_RESEND'] = '1'

其中,“os.environ['PS_VERBOSE'] = '2'”为打印所有的通信信息。“os.environ['PS_RESEND'] = '1'”为在“PS_RESEND_TIMEOUT”毫秒后没有收到ACK消息,Van实例会重发消息。