张量操作例程#

基本操作#

mars.tensor.copyto

将一个数组的值复制到另一个数组,根据需要进行广播。

形状操作#

mars.tensor.reshape

在不改变张量数据的情况下,改变其形状。

mars.tensor.ravel

返回一个连续的扁平化张量。

转置#

mars.tensor.moveaxis

将张量的轴移动到新的位置。

mars.tensor.rollaxis

将指定的轴向后滚动,直到它位于给定的位置。

mars.tensor.swapaxes

交换张量的两个轴。

mars.tensor.core.Tensor.T

与self.transpose()相同,除了当self.ndim < 2时返回self。

mars.tensor.transpose

改变张量的维度排列。

编辑维度#

mars.tensor.atleast_1d

将输入转换为至少具有一个维度的张量。

mars.tensor.atleast_2d

将输入视为至少具有两个维度的张量。

mars.tensor.atleast_3d

将输入视为至少三维的张量。

mars.tensor.broadcast_to

将张量广播到新的形状。

mars.tensor.broadcast_arrays

对任何数量的数组进行广播。

mars.tensor.expand_dims

扩展张量的形状。

mars.tensor.squeeze

从张量的形状中移除单维条目。

改变张量的种类#

mars.tensor.asarray

将输入转换为数组。

连接张量#

mars.tensor.concatenate

沿着现有轴连接一系列数组。

mars.tensor.stack

沿着新的轴连接张量序列。

mars.tensor.column_stack

将1维张量堆叠为2维张量的列。

mars.tensor.dstack

按顺序在深度(沿第三个轴)堆叠张量。

mars.tensor.hstack

按顺序水平(按列)堆叠张量。

mars.tensor.vstack

垂直(按行)顺序堆叠张量。

拆分张量#

mars.tensor.split

将一个张量分割成多个子张量。

mars.tensor.array_split

将张量拆分为多个子张量。

mars.tensor.dsplit

沿着第3个轴(深度)将张量分割成多个子张量。

mars.tensor.hsplit

将张量水平(按列)拆分为多个子张量。

mars.tensor.vsplit

将一个张量垂直(按行)分割成多个子张量。

瓷砖张量#

mars.tensor.tile

通过重复 A 的次数来构造一个张量,该次数由 reps 给出。

mars.tensor.repeat

重复张量的元素。

添加和删除元素#

mars.tensor.delete

返回一个沿指定轴删除子数组的新数组。

mars.tensor.insert

在给定索引之前沿着给定轴插入值。

mars.tensor.append

将值附加到数组的末尾。

mars.tensor.unique

查找张量的唯一元素。

重新排列元素#

mars.tensor.flip

沿给定轴反转张量中元素的顺序。

mars.tensor.fliplr

在左右方向翻转张量。

mars.tensor.flipud

在上下方向翻转张量。

mars.tensor.reshape

在不改变张量数据的情况下,改变其形状。

mars.tensor.roll

沿给定轴滚动张量元素。