1 系统环境
硬件环境(Ascend/GPU/CPU): GPU
MindSpore版本: 1.9.0
执行模式(PyNative/ Graph): Graph模式
Python版本: 3.7.13
操作系统平台: 不限
2 报错信息
2.1 问题描述
直接将Tensor从布尔值转换为浮点数,导致错误的结果。在类型转换前更改为numpy后,结果正确。
2.2 报错信息
2.3 脚本代码(代码格式,可上传附件)
3 根因分析
******此处由用户补充详细的定位过程******
4 解决方案
******此处由用户填写******
包含文字方案和最终脚本代码
支持上传附件
1 系统环境
硬件环境(Ascend/GPU/CPU): GPU
MindSpore版本: 1.9.0
执行模式(PyNative/ Graph): Graph模式
Python版本: 3.7.13
操作系统平台: 不限
2 报错信息
2.1 问题描述
直接将Tensor从布尔值转换为浮点数,导致错误的结果。在类型转换前更改为numpy后,结果正确。
2.2 报错信息
2.3 脚本代码(代码格式,可上传附件)
import mindspore as ms import mindspore.nn as nn import mindspore.ops as ops from mindspore import Tensor class ConditionalNet(nn.Cell): def __init__(self): super().__init__() self.bool_list = Tensor([True, False]) # works ok if self.bool_list = [True, False] self.y = Tensor([1]) self.z = Tensor([3, 4]) def construct(self): output = [] for i in range(len(self.bool_list)): if self.bool_list[i]: output.append(self.y[i]) else: output.append(self.z[i]) return ops.stack(output) if __name__ == '__main__': ms.set_context(mode=ms.GRAPH_MODE) net = ConditionalNet() print(net()) # expected: 1, 43 根因分析
******此处由用户补充详细的定位过程******
4 解决方案
******此处由用户填写******
包含文字方案和最终脚本代码
支持上传附件