maxframe.tensor.r_#

maxframe.tensor.r_ = <maxframe.tensor.lib.index_tricks.RClass object>#

将切片对象转换为沿第一个轴的拼接。

这是一种快速构建张量的简单方法。有两种使用情况。

  1. 如果索引表达式包含逗号分隔的张量,则沿它们的第一个轴堆叠。

  2. 如果索引表达式包含切片符号或标量,则创建一个1维张量,其范围由切片符号指定。

如果使用切片符号,语法 start:stop:step 等价于括号内的 mt.arange(start, stop, step)。但如果 step 是虚数(例如 100j),则其整数部分被解释为所需的点数,起始和结束值包含在内。换句话说,start:stop:stepj 被解释为括号内的 mt.linspace(start, stop, step, endpoint=1)。在展开切片符号后,所有逗号分隔的序列都会被拼接在一起。

可选字符字符串放置在索引表达式的第一个元素,可以用于更改输出。字符串 'r' 或 'c' 会生成矩阵输出。如果结果是1维且指定了 'r',则生成 1 x N(行)矩阵。如果结果是1维且指定了 'c',则生成 N x 1(列)矩阵。如果结果是2维,则两者都提供相同的矩阵结果。

字符串整数指定沿哪个轴堆叠多个逗号分隔的张量。两个逗号分隔的整数字符串允许指定每个条目应强制具有的最小维数作为第二个整数(拼接轴仍然是第一个整数)。

三个逗号分隔的整数字符串允许指定拼接轴、强制条目具有的最小维数,以及哪个轴应包含维数小于指定数量的张量的起始位置。换句话说,第三个整数允许你指定在形状升级的张量形状中应将1放在哪里。默认情况下,它们被放在形状元组的前面。第三个参数允许你指定张量起始位置应改为放在哪里。因此,第三个参数为'0'会将1放在张量形状的末尾。负整数指定在新的形状元组中升级张量的最后一个维度应放在哪里,默认值为'-1'。

参数:
  • function (Not a)

  • parameters (so takes no)

返回类型:

A concatenated tensor or matrix.

参见

concatenate

沿现有轴连接一系列张量。

c_

将切片对象转换为沿第二个轴的拼接。

示例

>>> import maxframe.tensor as mt
>>> mt.r_[mt.array([1,2,3]), 0, 0, mt.array([4,5,6])].execute()
array([1, 2, 3, ..., 4, 5, 6])
>>> mt.r_[-1:1:6j, [0]*3, 5, 6].execute()
array([-1. , -0.6, -0.2,  0.2,  0.6,  1. ,  0. ,  0. ,  0. ,  5. ,  6. ])

字符串整数指定拼接轴或强制条目进入的最小维数。

>>> a = mt.array([[0, 1, 2], [3, 4, 5]])
>>> mt.r_['-1', a, a].execute() # concatenate along last axis
array([[0, 1, 2, 0, 1, 2],
       [3, 4, 5, 3, 4, 5]])
>>> mt.r_['0,2', [1,2,3], [4,5,6]].execute() # concatenate along first axis, dim>=2
array([[1, 2, 3],
       [4, 5, 6]])
>>> mt.r_['0,2,0', [1,2,3], [4,5,6]].execute()
array([[1],
       [2],
       [3],
       [4],
       [5],
       [6]])
>>> mt.r_['1,2,0', [1,2,3], [4,5,6]].execute()
array([[1, 4],
       [2, 5],
       [3, 6]])