crop_cn.rst 2.5 KB
Newer Older
H
Hao Wang 已提交
1 2 3 4 5 6 7 8 9
.. _cn_api_fluid_layers_crop:

crop
-------------------------------

.. py:function:: paddle.fluid.layers.crop(x, shape=None, offsets=None, name=None)

根据偏移量(offsets)和形状(shape),裁剪输入张量。

10 11
**注意:** 此功能已被弃用,它将在以后的版本中被删除。更新说明:使用 `fluid.layers.crop_tensor <https://www.paddlepaddle.org.cn/documentation/docs/zh/api_cn/layers_cn/nn_cn.html#crop_tensor>`_ 替代。

H
Hao Wang 已提交
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
**样例**:

::

    * Case 1:
        Given
            X = [[0, 1, 2, 0, 0]
                 [0, 3, 4, 0, 0]
                 [0, 0, 0, 0, 0]],
        and
            shape = [2, 2],
            offsets = [0, 1],
        output is:
            Out = [[1, 2],
                   [3, 4]].
    * Case 2:
        Given
            X = [[0, 1, 2, 5, 0]
                 [0, 3, 4, 6, 0]
                 [0, 0, 0, 0, 0]],
        and shape is tensor
            shape = [[0, 0, 0]
                     [0, 0, 0]]
        and
            offsets = [0, 1],

        output is:
            Out = [[1, 2, 5],
                   [3, 4, 6]].


参数:
  - **x** (Variable): 输入张量。
  - **shape** (Variable|list/tuple of integer) - 输出张量的形状由参数shape指定,它可以是一个变量/整数的列表/整数元组。如果是张量变量,它的秩必须与x相同。该方式适可用于每次迭代时候需要改变输出形状的情况。如果是整数列表/tupe,则其长度必须与x的秩相同
  - **offsets** (Variable|list/tuple of integer|None) - 指定每个维度上的裁剪的偏移量。它可以是一个Variable,或者一个整数list/tupe。如果是一个tensor variable,它的rank必须与x相同,这种方法适用于每次迭代的偏移量(offset)都可能改变的情况。如果是一个整数list/tupe,则长度必须与x的rank的相同,如果shape=None,则每个维度的偏移量为0。
  - **name** (str|None) - 该层的名称(可选)。如果设置为None,该层将被自动命名。

返回: 裁剪张量。

返回类型: 变量(Variable)

抛出异常: 如果形状不是列表、元组或变量,抛出ValueError


**代码示例**:

..  code-block:: python
    
    import paddle.fluid as fluid
    x = fluid.layers.data(name="x", shape=[3, 5], dtype="float32")
    y = fluid.layers.data(name="y", shape=[2, 3], dtype="float32")
    crop = fluid.layers.crop(x, shape=y)


    ## or
    z = fluid.layers.data(name="z", shape=[3, 5], dtype="float32")
Z
zq19 已提交
68
    crop = fluid.layers.crop(z, shape=[-1, 2, 3])
H
Hao Wang 已提交
69 70 71 72 73 74 75 76 77 78