Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
FluidDoc
提交
b99e6e3a
F
FluidDoc
项目概览
PaddlePaddle
/
FluidDoc
通知
5
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
23
列表
看板
标记
里程碑
合并请求
111
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
FluidDoc
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
23
Issue
23
列表
看板
标记
里程碑
合并请求
111
合并请求
111
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
b99e6e3a
编写于
10月 10, 2019
作者:
S
silingtong123
提交者:
GitHub
10月 10, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
updates sequence_unpad_cn.rst (#1455)
updates sequence_unpad_cn.rst
上级
f2364d84
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
27 addition
and
9 deletion
+27
-9
doc/fluid/api_cn/layers_cn/sequence_unpad_cn.rst
doc/fluid/api_cn/layers_cn/sequence_unpad_cn.rst
+27
-9
未找到文件。
doc/fluid/api_cn/layers_cn/sequence_unpad_cn.rst
浏览文件 @
b99e6e3a
.. raw:: html
<style> .red {color:red; font-weight:bold} </style>
.. role:: red
.. _cn_api_fluid_layers_sequence_unpad:
.. _cn_api_fluid_layers_sequence_unpad:
sequence_unpad
sequence_unpad
...
@@ -5,9 +11,11 @@ sequence_unpad
...
@@ -5,9 +11,11 @@ sequence_unpad
.. py:function:: paddle.fluid.layers.sequence_unpad(x, length, name=None)
.. py:function:: paddle.fluid.layers.sequence_unpad(x, length, name=None)
**实现Sequence Unpad(去除序列填充值)运算**
:red:`注意:该OP的输入为Tensor,输出为LoDTensor。`
该层从给定序列中删除padding(填充值),并且将该序列转变为未填充时的原序列作为该层的输出,并且实际长度可以在输出的LoD信息中取得。
该OP根据length的信息,将input中padding(填充)元素移除,并且返回一个LoDTensor。
存在OP sequence_pad正好与之相反,能够进行填充数据,详情见: :ref:`cn_api_fluid_layers_sequence_pad`
::
::
...
@@ -18,23 +26,23 @@ sequence_unpad
...
@@ -18,23 +26,23 @@ sequence_unpad
[ 6.0, 7.0, 8.0, 9.0, 10.0],
[ 6.0, 7.0, 8.0, 9.0, 10.0],
[11.0, 12.0, 13.0, 14.0, 15.0]],
[11.0, 12.0, 13.0, 14.0, 15.0]],
其中包含 3 个被填充到长度为5的序列,实际长度由输入变量 ``length`` 指明:
其中包含 3 个被填充到长度为5的序列,实际长度由输入变量 ``length`` 指明
,其中,x的维度为[3,4],length维度为[3],length的第0维与x的第0维一致
:
length.data = [
[2], [3], [4]
],
length.data = [
2, 3, 4
],
则去填充(unpad)后的输出变量为:
则去填充(unpad)后的输出变量为:
out.data = [[1.0, 2.0, 6.0, 7.0, 8.0, 11.0, 12.0, 13.0, 14.0]]
out.data = [[1.0, 2.0, 6.0, 7.0, 8.0, 11.0, 12.0, 13.0, 14.0]]
out.lod = [[
2, 3, 4
]]
out.lod = [[
0, 2, 5, 9
]]
参数:
参数:
- **x** (Variable) –
输入变量,承载着多个填充后等长的序列
- **x** (Variable) –
包含填充元素的Tensor,其维度大小不能小于2,数据类型支持float32, float64,int32, int64。
- **length** (Variable) –
变量,指明去填充后各个序列所具有的实际长度
- **length** (Variable) –
存储每个样本实际长度信息的1D Tesnor,该Tensor的第0维必须与x参数的第0维一致。数据类型为int64。
- **name**
(str|None) – 可选项,该层名称。 若为 None, 将自动命名该层
- **name**
(str,可选) – 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。
返回:
变量,承载着去填充处理后的序列
返回:
将输入的填充元素移除,并返回一个LoDTensor,其递归序列长度与length参数的信息一致,其数据类型和输入一致。
返回类型:Variable
返回类型:Variable
...
@@ -43,11 +51,21 @@ sequence_unpad
...
@@ -43,11 +51,21 @@ sequence_unpad
.. code-block:: python
.. code-block:: python
import paddle.fluid as fluid
import paddle.fluid as fluid
import numpy
# example 1:
x = fluid.layers.data(name='x', shape=[10, 5], dtype='float32')
x = fluid.layers.data(name='x', shape=[10, 5], dtype='float32')
len = fluid.layers.data(name='length', shape=[1], dtype='int64')
len = fluid.layers.data(name='length', shape=[1], dtype='int64')
out = fluid.layers.sequence_unpad(x=x, length=len)
out = fluid.layers.sequence_unpad(x=x, length=len)
# example 2:
# 使用sequence_pad填充数据
input = fluid.layers.data(name='input', shape=[10, 5], dtype='float32', lod_level=1)
pad_value = fluid.layers.assign(input=numpy.array([0.0], dtype=numpy.float32))
pad_data, len = fluid.layers.sequence_pad(x=input, pad_value=pad_value)
#使用sequence_unpad移除填充数据
unpad_data = fluid.layers.sequence_unpad(x=pad_data, length=len)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录