From 3fe57e7e2d4144f84dd8359ce918dfc99458bfd8 Mon Sep 17 00:00:00 2001 From: zhang wenhui Date: Thu, 26 Sep 2019 10:07:12 +0800 Subject: [PATCH] fix zhangwenhui03' cn api, test=develop, test=document_preview (#1176) * fix api, test=develop, test=document_preview --- .../NumpyArrayInitializer_cn.rst | 6 +++- doc/fluid/api_cn/layers_cn/bpr_loss_cn.rst | 35 ++++++++++++------- doc/fluid/api_cn/layers_cn/data_norm_cn.rst | 2 +- doc/fluid/api_cn/layers_cn/load_cn.rst | 18 +++++----- .../teacher_student_sigmoid_loss_cn.rst | 22 ++++++++---- 5 files changed, 52 insertions(+), 31 deletions(-) diff --git a/doc/fluid/api_cn/initializer_cn/NumpyArrayInitializer_cn.rst b/doc/fluid/api_cn/initializer_cn/NumpyArrayInitializer_cn.rst index f74f70b0b..1e495ad97 100644 --- a/doc/fluid/api_cn/initializer_cn/NumpyArrayInitializer_cn.rst +++ b/doc/fluid/api_cn/initializer_cn/NumpyArrayInitializer_cn.rst @@ -5,11 +5,15 @@ NumpyArrayInitializer .. py:class:: paddle.fluid.initializer.NumpyArrayInitializer(value) -使用Numpy型数组来初始化参数变量。 +该OP使用Numpy型数组来初始化参数变量。 参数: - **value** (numpy) - 用于初始化变量的一个Numpy型数组。 +返回:张量(Tensor) + +返回类型:变量(Variable) + **代码示例** .. code-block:: python diff --git a/doc/fluid/api_cn/layers_cn/bpr_loss_cn.rst b/doc/fluid/api_cn/layers_cn/bpr_loss_cn.rst index 3b1b8995d..44c38b306 100644 --- a/doc/fluid/api_cn/layers_cn/bpr_loss_cn.rst +++ b/doc/fluid/api_cn/layers_cn/bpr_loss_cn.rst @@ -6,22 +6,32 @@ bpr_loss .. py:function:: paddle.fluid.layers.bpr_loss(input, label, name=None) -贝叶斯个性化排序损失计算(Bayesian Personalized Ranking Loss Operator ) +贝叶斯个性化排序损失函数(Bayesian Personalized Ranking Loss Operator ) -该算子属于pairwise的排序类型,其标签是期望物品。在某次会话中某一给定点的损失值由下式计算而得: +该OP属于pairwise类型的损失函数。损失值由下式计算而得: .. math:: - \[Y[i] = 1/(N[i] - 1) * \sum_j{\log(\sigma(X[i, Label[i]]-X[i, j]))}\] + Y[i] = 1/(N[i] - 1) * \sum_j{\log(\sigma(X[i, Label[i]]-X[i, j]))} -更多细节请参考 `Session Based Recommendations with Recurrent Neural Networks`_ +其中: + - :math:`X` :输入值,一个形为[T x D]的2-D Tensor, 此处为logit值。 + - :math:`N[i]` : 在时间步i的正例和负例的总和。 + - :math:`Label[i]` :在时间步i的正例下标。 + - :math:`\sigma` :激活函数。 + - :math:`Y` :输出值,一个形为[T x 1]的2-D Tensor。 + + +更多细节请参考 `Session Based Recommendations with Recurrent Neural Networks` 参数: - - **input** (Variable|list) - 一个形为[N x D]的2-D tensor , 其中 N 为批大小batch size ,D 为种类的数量。该输入为logits而非概率。 - - **label** (Variable|list) - 2-D tensor 类型的真实值, 形为[N x 1] - - **name** (str|None) - (可选)该层的命名。 如果为None, 则自动为该层命名。 默认为None. + - **input** (Variable) - 形为[T x D] , Tensor类型时T为batch大小,LoDTensor类型时T为mini-batch的总时间步。D 为正例加负例的个数。该输入为logits而非概率。数据类型是float32或float64。 + - **label** (Variable) - 形为[T x 1],表示input中正例的下标,数据类型为int64。。 + - **name** (None|str) – 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,默认值为None。 + +返回: 形为[T x 1]的2D张量,数据类型同input相同,表示bpr损失值。 -返回: 形为[N x 1]的2D张量,即bpr损失 +返回类型:Variable **代码示例:** @@ -29,14 +39,13 @@ bpr_loss import paddle.fluid as fluid - neg_size = 10 + neg_size = 3 + # label=[0] label = fluid.layers.data( name="label", shape=[1], dtype="int64") + # predict = [0.1, 0.2, 0.3, 0.4] predict = fluid.layers.data( name="predict", shape=[neg_size + 1], dtype="float32") + # bpr_Loss : label [0] 表示predict中下标0表示正例,即为0.1, 负例有3个为0.2,0.3,0.4 cost = fluid.layers.bpr_loss(input=predict, label=label) - - - - diff --git a/doc/fluid/api_cn/layers_cn/data_norm_cn.rst b/doc/fluid/api_cn/layers_cn/data_norm_cn.rst index e874031db..3bc30c79c 100644 --- a/doc/fluid/api_cn/layers_cn/data_norm_cn.rst +++ b/doc/fluid/api_cn/layers_cn/data_norm_cn.rst @@ -24,7 +24,7 @@ data_norm y_i &\gets \gamma \hat{x_i} + \beta \qquad &//\ scale\ and\ shift 参数: - - **input** (variable) - 输入变量,它是一个LoDTensor。 + - **input** (Variable) - 输入变量,它是一个LoDTensor。 - **act** (string,默认None) - 激活函数类型,线性| relu | prelu | ... - **epsilon** (float,默认1e-05) - - **param_attr** (ParamAttr) - 参数比例的参数属性。 diff --git a/doc/fluid/api_cn/layers_cn/load_cn.rst b/doc/fluid/api_cn/layers_cn/load_cn.rst index 1d9bc2b42..f3e39758f 100644 --- a/doc/fluid/api_cn/layers_cn/load_cn.rst +++ b/doc/fluid/api_cn/layers_cn/load_cn.rst @@ -5,24 +5,24 @@ load .. py:function:: paddle.fluid.layers.load(out, file_path, load_as_fp16=None) -Load操作命令将从磁盘文件中加载LoDTensor/SelectedRows变量。 +该OP操作将从磁盘文件中加载LoDTensor/SelectedRows变量。 -.. code-block:: python - - import paddle.fluid as fluid - tmp_tensor = fluid.layers.create_tensor(dtype='float32') - fluid.layers.load(tmp_tensor, "./tmp_tensor.bin") 参数: - - **out** (Variable)-需要加载的LoDTensor或SelectedRows - - **file_path** (STRING)-预从“file_path”中加载的变量Variable - - **load_as_fp16** (BOOLEAN)-如果为真,张量首先进行加载然后类型转换成float16。如果为假,张量将直接加载,不需要进行数据类型转换。默认为false。 + - **out** (Variable) - 需要加载的LoDTensor或SelectedRows。 + - **file_path** (str) - 从“file_path”中加载的变量Variable + - **load_as_fp16** (BOOLEAN) - 如果为真,张量首先进行加载然后类型转换成float16。如果为假,张量将直接加载,不需要进行数据类型转换。默认为false。 返回:None +**代码示例:** +.. code-block:: python + import paddle.fluid as fluid + tmp_tensor = fluid.layers.create_tensor(dtype='float32') + fluid.layers.load(tmp_tensor, "./tmp_tensor.bin") diff --git a/doc/fluid/api_cn/layers_cn/teacher_student_sigmoid_loss_cn.rst b/doc/fluid/api_cn/layers_cn/teacher_student_sigmoid_loss_cn.rst index 86c67404e..d2ac24656 100644 --- a/doc/fluid/api_cn/layers_cn/teacher_student_sigmoid_loss_cn.rst +++ b/doc/fluid/api_cn/layers_cn/teacher_student_sigmoid_loss_cn.rst @@ -7,22 +7,30 @@ teacher_student_sigmoid_loss **Teacher Student Log Loss Layer(教师--学生对数损失层)** -此图层接受输入预测和目标标签,并返回teacher_student损失。 +定制化需求,用于student萃取teacher的值。此图层接受输入预测和目标标签,并返回teacher_student损失。 +z表示是否点击,z'表示teacher q值。label取值范围{-2,-1,[0, 2]} +teacher q值不存在时,点击时label为-1,否则为-2。 +teacher q值存在时,点击时label为z',否则为1 + z'。 .. math:: loss = max(x, 0) - x * z + log(1 + exp(-abs(x))) + max(x, 0) - x * z' + log(1 + exp(-abs(x))) +其中: + - :math:`x` :预测输入值。 + - :math:`z` :是否点击。 + - :math:`z'` :teacher q值。 + 参数: - - **input** (Variable|list) – 形状为[N x 1]的二维张量,其中N是批大小batch size。 该输入是由前一个运算计算而得的概率。 - - **label** (Variable|list) – 具有形状[N x 1]的二维张量的真实值,其中N是批大小batch_size。 - - **soft_max_up_bound** (float) – 若input > soft_max_up_bound, 输入会被向下限制。默认为15.0 - - **soft_max_lower_bound** (float) – 若input < soft_max_lower_bound, 输入将会被向上限制。默认为-15.0 + - **input** (Variable) – 形状为[N x 1]的2-d Tensor,其中N是批大小batch size。 该输入是由前一个运算计算而得的概率,数据类型为float32或者float64。 + - **label** (Variable) – 具有形状[N x 1]的2-d Tensor的真实值,其中N是批大小batch_size,数据类型为float32或者float64。 + - **soft_max_up_bound** (float) – 若input > soft_max_up_bound, 输入会被向下限制。默认为15.0 。 + - **soft_max_lower_bound** (float) – 若input < soft_max_lower_bound, 输入将会被向上限制。默认为-15.0 。 -返回:具有形状[N x 1]的2-D张量,teacher_student_sigmoid_loss。 +返回:具有形状[N x 1]的2-D Tensor,teacher_student_sigmoid_loss。 -返回类型:变量 +返回类型:Variable **代码示例**: -- GitLab