【MindSpore】【lstm】在昇腾芯片上图算融合出错
2.不需要加任何flag控制,直接拉取r1.5分支的包,运行网络脚本,这个问题应该也不会出现。(推荐使用该解决方案,因为r1.5版本,图算的功能应该更加完善,鲁棒性更强。1.继续使用r1.3分支的包来使能图算融合,需要在设置的时候多加一个限制,将代码从。...
使用的是mindspore1.3.0
1、当 context.set_context(mode=context.GRAPH_MODE,enable_graph_kernel=True, device_target=device_type) 时报错;
2、改成下面两种方式,则正常运行;
context.set_context(mode=context.PYNATIVE_MODE, enable_graph_kernel=True,device_target=device_type)
context.set_context(mode=context.GRAPH_MODE, device_target=device_type)
非常感谢你使用mindspore的图算融合特性来进行实验的验证,从你这错误中不难发现应该是matmul算子在昇腾上使能图算融合这一特性后,进行了细粒度的展开,但是这个算子的info信息里的attrs缺少了transpose的具体值导致的错误。在R1.3分支上,图算融合对于Matmul算子的支持还不是很好,因此给出以下两种可能可以帮助你跑通该特性的解决方案:
1.继续使用r1.3分支的包来使能图算融合,需要在设置的时候多加一个限制,将代码从
context.set_context(mode=context.GRAPH_MODE,enable_graph_kernel=True, device_target=device_type)
多加一个flag控制:
context.set_context(device_target=device_type, mode=context.GRAPH_MODE,enable_graph_kernel=True, graph_kernel_flags="--disable_expand_ops=MatMul")
使得在昇腾芯片上,MatMul这一个算子走正常的算子编译流程,应该可以解决这个问题。
2.不需要加任何flag控制,直接拉取r1.5分支的包,运行网络脚本,这个问题应该也不会出现。(推荐使用该解决方案,因为r1.5版本,图算的功能应该更加完善,鲁棒性更强。)

昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链
更多推荐
所有评论(0)