mindspore.numpy.unique() 不支持 0 shape tensor

70 阅读1分钟

[quote="huan666, post:1, topic:983, full:true"]

1 系统环境

硬件环境(Ascend/GPU/CPU): Ascend/GPU/CPU MindSpore版本: 2.0.0 执行模式(PyNative/ Graph): PyNative模式 Python版本: 3.9.15 操作系统平台: Linux 18.04

2 报错信息

2.1 问题描述

mindspore.numpy.unique()不支持0 shape tensor

2.2 报错信息

RuntimeError: Malloc for kernel output failed, Memory isn't enough, node:Default/Unique-op0
----------------------------------------------------
- C++ Call Stack: (For framework developers)
----------------------------------------------------
mindspore/ccsrc/runtime/pynative/run_op_helper.cc:473 LaunchKernels

2.3 脚本代码(代码格式,可上传附件)

a = ms.Tensor([])
ms.numpy.unique(a)

3 根因分析

在1中的系统环境下,执行上述代码不会出现上述报错,只是会出现WARNING信息,代码还是输出预期结果。 在gitee看到了关于该问题的issue,实际报错应该是:

RuntimeError: Malloc for kernel output failed, Memory isn't enough, node:Default/Unique-op0

应该是环境配置或参数配置(比如batch size等)等问题引发的,需要排查一下。 linux环境中(Python3.9,mindpsore2.0.0)代码内容:

转存失败,建议直接上传图片文件

执行结果: |1324x69转存失败,建议直接上传图片文件 window(Python3.9,mindpsore1.7.0)也可以正常执行:

转存失败,建议直接上传图片文件

4 解决方案

在gitee看到了关于该问题的issue,实际报错部分应该是:

RuntimeError: Malloc for kernel output failed, Memory isn't enough, node:Default/Unique-op0

应该是环境配置或参数配置(比如batch size等)等问题引发的,需要了解更多代码进行问题原因排查。 [/quote]