jax.numpy.dtype#
- class jax.numpy.dtype(dtype, align=False, copy=False[, metadata])#
创建一个数据类型对象。
一个 numpy 数组是同质的,并且包含由 dtype 对象描述的元素。dtype 对象可以由不同的基本数值类型的组合构成。
- 参数:
参见
示例
使用数组标量类型:
>>> import numpy as np >>> np.dtype(np.int16) dtype('int16')
结构化类型,一个字段名为 ‘f1’,包含 int16:
>>> np.dtype([('f1', np.int16)]) dtype([('f1', '<i2')])
结构化类型,有一个名为 ‘f1’ 的字段,该字段本身包含一个具有一个字段的结构化类型:
>>> np.dtype([('f1', [('f1', np.int16)])]) dtype([('f1', [('f1', '<i2')])])
结构化类型,两个字段:第一个字段包含一个无符号整数,第二个字段包含一个32位整数:
>>> np.dtype([('f1', np.uint64), ('f2', np.int32)]) dtype([('f1', '<u8'), ('f2', '<i4')])
使用数组协议类型字符串:
>>> np.dtype([('a','f8'),('b','S10')]) dtype([('a', '<f8'), ('b', 'S10')])
使用逗号分隔的字段格式。形状为 (2,3):
>>> np.dtype("i4, (2,3)f8") dtype([('f0', '<i4'), ('f1', '<f8', (2, 3))])
使用元组。
int
是一个固定类型,3 是字段的形状。void
是一个灵活类型,这里的大小为 10:>>> np.dtype([('hello',(np.int64,3)),('world',np.void,10)]) dtype([('hello', '<i8', (3,)), ('world', 'V10')])
将
int16
分割成两个int8
,分别称为 x 和 y。0 和 1 是字节偏移量:>>> np.dtype((np.int16, {'x':(np.int8,0), 'y':(np.int8,1)})) dtype((numpy.int16, [('x', 'i1'), ('y', 'i1')]))
使用字典。两个名为 ‘gender’ 和 ‘age’ 的字段:
>>> np.dtype({'names':['gender','age'], 'formats':['S1',np.uint8]}) dtype([('gender', 'S1'), ('age', 'u1')])
字节偏移量,这里为 0 和 25:
>>> np.dtype({'surname':('S25',0),'age':(np.uint8,25)}) dtype([('surname', 'S25'), ('age', 'u1')])
- __init__()#
方法
__init__
()newbyteorder
([new_order])返回一个具有不同字节顺序的新数据类型。
属性
alignment
根据编译器,此数据类型所需的对其字节数。
base
返回子数组基础元素的数据类型,无论其维度或形状如何。
byteorder
指示此数据类型对象的字节顺序的字符。
char
每个21种不同的内置类型都有一个唯一的字符代码。
descr
__array_interface__ 数据类型的描述。
fields
为该数据类型定义的命名字段字典,或
None
。flags
描述如何解释此数据类型的位标志。
hasobject
布尔值,指示此数据类型在任何字段或子数据类型中是否包含任何引用计数的对象。
isalignedstruct
布尔值,指示dtype是否是一个维护字段对齐的结构体。
isbuiltin
整数,表示此 dtype 与内置 dtype 的关系。
isnative
布尔值,指示此 dtype 的字节顺序是否为本机平台的字节顺序。
itemsize
此数据类型对象的元素大小。
kind
一个字符代码('biufcmMOSUV' 中的一个),用于标识数据的一般类型。
metadata
要么是
None
,要么是一个只读的元数据字典(mappingproxy)。name
此数据类型的位宽名称。
names
字段名称的有序列表,如果没有字段则为
None
。ndim
如果此数据类型描述的是子数组,则子数组的维度数;否则为
0
。num
21种不同内置类型的唯一编号。
shape
如果此数据类型描述的是一个子数组,则为子数组的形状元组;否则为
()
。str
此数据类型对象的数组协议类型字符串。
subdtype
如果此 dtype 描述的是一个子数组,则为元组
(item_dtype, shape)
,否则为 None。type