Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Crayon鑫
Paddle
提交
56a65abd
P
Paddle
项目概览
Crayon鑫
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
56a65abd
编写于
7月 20, 2021
作者:
H
HexToString
提交者:
jzhang533
7月 21, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix crop_tensor op doc
上级
0f5e0ba1
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
39 addition
and
36 deletion
+39
-36
python/paddle/fluid/layers/nn.py
python/paddle/fluid/layers/nn.py
+39
-36
未找到文件。
python/paddle/fluid/layers/nn.py
浏览文件 @
56a65abd
...
...
@@ -9039,10 +9039,10 @@ def crop_tensor(x, shape=None, offsets=None, name=None):
[6, 7, 8]]]
Parameters:
x (
Variable
): 1-D to 6-D Tensor, the data type is float32, float64, int32 or int64.
shape (list|tuple|
Variable
): The output shape is specified
x (
Tensor
): 1-D to 6-D Tensor, the data type is float32, float64, int32 or int64.
shape (list|tuple|
Tensor
): The output shape is specified
by `shape`. Its data type is int32. If a list/tuple, it's length must be
the same as the dimension size of `x`. If a
Variable
, it should be a 1-D Tensor.
the same as the dimension size of `x`. If a
Tensor
, it should be a 1-D Tensor.
When it is a list, each element can be an integer or a Tensor of shape: [1].
If Variable contained, it is suitable for the case that the shape may
be changed each iteration.
...
...
@@ -9056,51 +9056,54 @@ def crop_tensor(x, shape=None, offsets=None, name=None):
this property. For more information, please refer to :ref:`api_guide_Name` .
Returns:
Variable
: The cropped Tensor has same data type with `x`.
Tensor
: The cropped Tensor has same data type with `x`.
Raises:
TypeError: If the data type of `x` is not in: float32, float64, int32, int64.
TypeError: If `shape` is not a list, tuple or
Variable
.
TypeError: If `shape` is not a list, tuple or
Tensor
.
TypeError: If the data type of `shape` is not int32.
TypeError: If `offsets` is not None and not a list, tuple or
Variable
.
TypeError: If `offsets` is not None and not a list, tuple or
Tensor
.
TypeError: If the data type of `offsets` is not int32.
ValueError: If the element in `offsets` is less than zero.
Examples:
.. code-block:: python
:name: code-example1
import paddle.fluid as fluid
import paddle.fluid as fluid
import paddle
paddle.enable_static()
x = fluid.data(name="x", shape=[None, 3, 5], dtype="float32")
# x.shape = [-1, 3, 5], where -1 indicates batch size, and it will get the exact value in runtime.
# shape is a 1-D Tensor
crop_shape = fluid.data(name="crop_shape", shape=[3], dtype="int32")
crop0 = fluid.layers.crop_tensor(x, shape=crop_shape)
# crop0.shape = [-1, -1, -1], it means crop0.shape[0] = x.shape[0] in runtime.
# or shape is a list in which each element is a constant
crop1 = fluid.layers.crop_tensor(x, shape=[-1, -1, 3], offsets=[0, 1, 0])
# crop1.shape = [-1, 2, 3]
# or shape is a list in which each element is a constant or Variable
y = fluid.data(name="y", shape=[3, 8, 8], dtype="float32")
dim1 = fluid.data(name="dim1", shape=[1], dtype="int32")
crop2 = fluid.layers.crop_tensor(y, shape=[3, dim1, 4])
# crop2.shape = [3, -1, 4]
# offsets is a 1-D Tensor
crop_offsets = fluid.data(name="crop_offsets", shape=[3], dtype="int32")
crop3 = fluid.layers.crop_tensor(x, shape=[-1, 2, 3], offsets=crop_offsets)
# crop3.shape = [-1, 2, 3]
# offsets is a list in which each element is a constant or Variable
offsets_var = fluid.data(name="dim1", shape=[1], dtype="int32")
crop4 = fluid.layers.crop_tensor(x, shape=[-1, 2, 3], offsets=[0, 1, offsets_var])
# crop4.shape = [-1, 2, 3]
import numpy as np
np_data_x = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]).astype('int32')
x = paddle.to_tensor(np_data_x)
# x.shape = [3, 3]
# x = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# shape can be a 1-D Tensor or list or tuple.
np_data_shape = np.array([2, 2]).astype('int32')
shape_tensor = paddle.to_tensor(np_data_shape)
# shape_list = [2, 2]
# shape_tuple = (2, 2)
out = paddle.crop(x, shape_tensor)
# out = paddle.crop(x, shape_list)
# out = paddle.crop(x, shape_tuple)
np_out = out.numpy()
print('out = ', np_out)
# out.shape = [2, 2]
# out = [[1,2], [4,5]]
# offsets can be a 1-D Tensor or list or tuple.
np_data_offsets = np.array([0, 1]).astype('int32')
offsets_tensor = paddle.to_tensor(np_data_offsets)
# offsets_list = [1, 1]
# offsets_tuple = (0, 1)
out = paddle.crop(x, shape_tensor, offsets_tensor)
# out = paddle.crop(x, shape_tensor, offsets_list)
# out = paddle.crop(x, shape_tensor, offsets_tuple)
np_out = out.numpy()
print('out = ', np_out)
# out.shape = [2, 2]
# if offsets = [0, 1], out = [[2,3], [5,6]]
# if offsets = [1, 1], out = [[5,6], [8,9]]
"""
helper = LayerHelper('crop_tensor', **locals())
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录