mars.tensor.asarray#

mars.tensor.asarray(x, dtype=None, order=None, chunk_size=None)[来源]#

将输入转换为数组。

Parameters
  • a (array_like) – 输入数据,可以转换为张量的任何形式。这包括列表、元组列表、元组、元组的元组、列表的元组和张量。

  • dtype (数据类型, 可选) – 默认情况下,数据类型是从输入数据中推断的。

  • order ({'C', 'F'}, 可选) – 是否使用行主序(C风格)或列主序(Fortran风格)内存表示。

  • chunk_size (int, tuple, 可选) – 指定每个维度的块大小。

Returns

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

Return type

张量

另请参阅

ascontiguousarray

将输入转换为连续的张量。

asfortranarray

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

示例

将列表转换为张量:

>>> import mars.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 被设置,则当 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