MindSpore报错:AttributeError: ‘Tensor‘ has no attribute ‘‘

1 报错描述

1.1 系统环境

Hardware Environment(Ascend/GPU/CPU): GPU

Software Environment:

– MindSpore version (source or binary): 1.6.0

– Python version (e.g., Python 3.7.5): 3.7.6

– OS platform and distribution (e.g., Linux Ubuntu 16.04): 4.19.36-vhulk1907.1.0.h619.eulerosv2r8.aarch64

– GCC/Compiler version (if compiled from source):

1.2 基本信息

1.2.1 脚本

训练脚本构建了一个简单的张量Tensor,并尝试去获取张量中的数据。脚本如下:

import numpy as np
from mindspore import Tensor
a = Tensor(np.arange(10, 16).reshape(2, 3).astype("float32"))
print(a.data)

1.2.2 报错

这里报错信息如下:

Traceback (most recent call last):
 File "demo.py", line 4, in <module>
  print(a.data)
AttributeError: 'Tensor' object has no attribute 'data'

2 原因分析

​ 在MindSpore中,Tensor对象并无属性data。而在脚本中第4行代码发现了尝试通过调用Tensor张量的data属性,获取Tensor中的数据。

​ 通过官方文档查询Tensor可以发现,并未在官方公布属性中,查找到Tensor的data属性。

MindSpore报错:AttributeError: ‘Tensor‘ has no attribute ‘‘
​ 其实,要想获取Tensor中的数据,可以直接打印该Tensor,也可以通过asnumpy属性转化为numpy进行输出,或者其他方法转换。

; 3 解决方法

基于上面已知的原因,很容易做出如下修改:

MindSpore报错:AttributeError: ‘Tensor‘ has no attribute ‘‘

此时执行成功,输出如下:

[[10. 11. 12.]

[13. 14. 15.]]

4 总结

定位报错问题的步骤:

1、 找到报错的用户代码行: print(a.data);

2、 根据日志报错信息中的关键字,缩小分析问题的范围:AttributeError,该关键字表示属性错误;

3、需要重点关注变量属性的正确性。

5 参考文档

Original: https://blog.csdn.net/weixin_45875914/article/details/123894154
Author: 当仁先生
Title: MindSpore报错:AttributeError: ‘Tensor‘ has no attribute ‘‘

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/613249/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球