當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python mxnet.ndarray.op.Reshape用法及代碼示例


用法:

mxnet.ndarray.op.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.op.Reshape。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。