当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python mxnet.ndarray.Reshape用法及代码示例


用法:

mxnet.ndarray.Reshape(data=None, shape=_Null, reverse=_Null, target_shape=_Null, keep_highest=_Null, out=None, name=None, **kwargs)

参数

  • data(NDArray) - 输入要重塑的数据。
  • shape(Shape(tuple), optional, default=[]) - 目标形状
  • reverse(boolean, optional, default=0) - 如果为真,则从右到左推断特殊值
  • target_shape(Shape(tuple), optional, default=[]) - (已弃用!使用shape而是。)定位新形状。一个且只有一个 dim 可以为 0,在这种情况下,它将从其余的 dims 中推断出来
  • keep_highest(boolean, optional, default=0) - (已弃用!使用shape代替。)是否保持最高的dim不变。如果设置为true,则忽略target_shape中的第一个dim,并始终固定为输入
  • out(NDArray, optional) - 输出 NDArray 来保存结果。

返回

out- 此函数的输出。

返回类型

NDArray 或 NDArray 列表

重塑输入数组。 .. note::Reshape 已弃用,请使用 reshape 给定一个数组和一个形状,此函数以新形状返回该数组的副本。形状是整数元组,例如 (2,3,4)。新形状的大小应与输入数组的大小相同。例子:

reshape([1,2,3,4], shape=(2,2)) = [[1,2], [3,4]]

形状的某些维度可以从集合 {0, -1, -2, -3, -4} 中获取特殊值。每个的意义解释如下: - 0 将此维度从输入复制到输出形状。

Example:: - input shape = (2,3,4), shape = (4,0,2), output shape = (4,3,2) - input shape = (2,3,4), shape = (2,0,0), output shape = (2,3,4)

  • -1 通过使用输入维度的剩余部分来推断输出形状的维度,保持新数组的大小与输入数组的大小相同。最多一维形状可以是-1。示例::- 输入形状 = (2,3,4),形状 = (6,1,-1),输出形状 = (6,1,4) - 输入形状 = (2,3,4),形状 = (3,-1,8), 输出形状 = (3,1,8) - 输入形状 = (2,3,4), 形状=(-1,), 输出形状 = (24,)
  • -2 将输入尺寸的所有/剩余部分复制到输出形状。示例::- 输入形状 = (2,3,4), 形状 = (-2,), 输出形状 = (2,3,4) - 输入形状 = (2,3,4), 形状 = (2, -2),输出形状 = (2,3,4) - 输入形状 = (2,3,4),形状 = (-2,1,1),输出形状 = (2,3,4,1,1 )
  • -3 使用输入形状的两个连续维度的乘积作为输出维度。示例::- 输入形状 = (2,3,4),形状 = (-3,4),输出形状 = (6,4) - 输入形状 = (2,3,4,5),形状 = (- 3,-3), 输出形状 = (6,20) - 输入形状 = (2,3,4), 形状 = (0,-3), 输出形状 = (2,12) - 输入形状 = (2, 3,4), 形状 = (-3,-2), 输出形状 = (6,4)
  • -4 将输入的一维拆分为在形状 -4 之后传递的二维(可以包含 -1)。示例::- 输入形状 = (2,3,4), 形状 = (-4,1,2,-2), 输出形状 =(1,2,3,4) - 输入形状 = (2,3, 4), shape = (2,-4,-1,3,-2), 输出 shape = (2,1,3,4)
如果参数 reverse 设置为 1,则从右到左推断特殊值。

示例::- 没有 reverse=1,输入 shape = (10,5,4),shape = (-1,0),输出 shape 将是 (40,5) - reverse=1,输出 shape 将是 ( 50,4)。

例子

将输入数组重塑为新形状。

>>> x = mx.nd.array([1, 2, 3, 4])
>>> y = mx.nd.reshape(x, shape=(2, 2))
>>> x.shape
(4L,)
>>> y.shape
(2L, 2L)
>>> y.asnumpy()
array([[ 1.,  2.],
   [ 3.,  4.]], dtype=float32)

您可以使用 0 将特定维度从输入复制到输出形状,并使用“-1”来推断输出的维度。

>>> x = mx.nd.ones((2, 3, 4))
>>> x.shape
(2L, 3L, 4L)
>>> y = mx.nd.reshape(x, shape=(4, 0, -1))
>>> y.shape
(4L, 3L, 2L)

相关用法


注:本文由纯净天空筛选整理自apache.org大神的英文原创作品 mxnet.ndarray.Reshape。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。