mindspore.dtype
- class mindspore.dtype
MindSpore的数据类型。
dtype 的实际路径为 /mindspore/common/dtype.py 。运行以下命令导入环境:
from mindspore import dtype as mstype
基础数据类型
MindSpore支持以下基础数据类型:
定义 |
描述 |
---|---|
|
8位整型数 |
|
16位整型数 |
|
32位整型数 |
|
64位整型数 |
|
无符号8位整型数 |
|
无符号16位整型数 |
|
无符号32位整型数 |
|
无符号64位整型数 |
|
16位浮点数 |
|
32位浮点数 |
|
64位浮点数 |
|
16位脑浮点数 |
|
64位复数 |
|
128位复数 |
其他类型
除基础数据类型以外的其他数据类型,请参照以下表格。
类型 |
描述 |
---|---|
|
MindSpore中的张量类型。数据格式采用NCHW。详情请参考 tensor 。 |
|
布尔型,值为 |
|
整数标量。 |
|
无符号整数标量。 |
|
浮点标量。 |
|
复数标量。 |
|
数值型,包括 |
|
由 |
|
由 |
|
函数类型。两种返回方式:当function不是None时,直接返回function;当function为None时,返回function(参数:List[T0,T1,…,Tn],返回值:T)。 |
|
类型的类型定义。 |
|
没有匹配的返回类型,对应 Python 中的 |
|
在 |
|
用于存储函数的自由变量的梯度,其中键是自由变量节点的 symbolic_key ,值是梯度。 |
类型转换规则
当算子的部分输入要求目标类型一致时,会根据类型转换规则,自动进行类型提升。如果这些输入存在不同大小和类别 (其中 complex > float > int > bool
) 的类型,它们将会被提升为具有足够大小和类别的类型。
Tensor与Tensor的类型转换规则请参考以下表格。表格里首行和首列均表示输入 Tensor
的类型,表格中对应位置表示输出 Tensor
的类型, -
表示不进行类型提升。
为方便描述,表格中使用 bool_
指代 mindspore.bool_
,使用 int8
指代 mindspore.int8
,以此类推。
Tensor与Tensor |
bool_ |
int8 |
int16 |
int32 |
int64 |
uint8 |
uint16 |
uint32 |
uint64 |
float16 |
bfloat16 |
float32 |
float64 |
complex64 |
complex128 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
bool_ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uint8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uint16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uint32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uint64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
float16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bfloat16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
float32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
float64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
complex64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
complex128 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Number与Tensor的类型转换规则请参考以下表格。表格里首行表示输入 Number
的类型,首列表示输入 Tensor
的类型。表格中对应位置表示输出 Tensor
的类型, -
表示不进行类型提升。
Number与Tensor |
bool |
int |
float |
---|---|---|---|
bool_ |
|
|
|
int8 |
|
|
|
int16 |
|
|
|
int32 |
|
|
|
int64 |
|
|
|
uint8 |
|
|
|
uint16 |
|
|
|
uint32 |
|
|
|
uint64 |
|
|
|
float16 |
|
|
|
bfloat16 |
|
|
|
float32 |
|
|
|
float64 |
|
|
|
complex64 |
|
|
|
complex128 |
|
|
|