maxframe.tensor.asarray#

maxframe.tensor.asarray(x, dtype=None, order=None, chunk_size=None)[源代码]#

将输入转换为数组。

参数:
  • a (array_like) -- 输入数据,可以是任何能够转换为张量的形式。这包括列表、元组列表、元组、元组的元组、列表的元组以及张量。

  • dtype (data-type, optional) -- 默认情况下,数据类型从输入数据中推断得出。

  • order ({'C', 'F'}, optional) -- 是否使用行主序(C 风格)或列主序(Fortran 风格)的内存表示方式。

  • chunk_size (int, tuple, optional) -- 指定每个维度的块大小。

返回:

out -- a 的张量解释。如果输入已经是具有匹配数据类型和顺序的 ndarray,则不执行复制操作。如果 a 是 ndarray 的子类,则返回基类 ndarray。

返回类型:

Tensor

参见

ascontiguousarray

将输入转换为连续张量。

asfortranarray

将输入转换为以列主序内存顺序存储的张量。

示例

将列表转换为张量:

>>> import maxframe.tensor as mt
>>> a = [1, 2]
>>> mt.asarray(a).execute()
array([1, 2])

现有数组不会被复制:

>>> a = mt.array([1, 2])
>>> mt.asarray(a) is a
True

如果设置了 dtype,仅在数据类型不匹配时才复制数组:

>>> a = mt.array([1, 2], dtype=mt.float32)
>>> mt.asarray(a, dtype=mt.float32) is a
True
>>> mt.asarray(a, dtype=mt.float64) is a
False