未验证 提交 3fe57e7e 编写于 作者: Z zhang wenhui 提交者: GitHub

fix zhangwenhui03' cn api, test=develop, test=document_preview (#1176)

* fix api, test=develop, test=document_preview
上级 5a7af2fa
...@@ -5,11 +5,15 @@ NumpyArrayInitializer ...@@ -5,11 +5,15 @@ NumpyArrayInitializer
.. py:class:: paddle.fluid.initializer.NumpyArrayInitializer(value) .. py:class:: paddle.fluid.initializer.NumpyArrayInitializer(value)
使用Numpy型数组来初始化参数变量。 该OP使用Numpy型数组来初始化参数变量。
参数: 参数:
- **value** (numpy) - 用于初始化变量的一个Numpy型数组。 - **value** (numpy) - 用于初始化变量的一个Numpy型数组。
返回:张量(Tensor)
返回类型:变量(Variable)
**代码示例** **代码示例**
.. code-block:: python .. code-block:: python
......
...@@ -6,22 +6,32 @@ bpr_loss ...@@ -6,22 +6,32 @@ bpr_loss
.. py:function:: paddle.fluid.layers.bpr_loss(input, label, name=None) .. 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:: .. 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而非概率。 - **input** (Variable) - 形为[T x D] , Tensor类型时T为batch大小,LoDTensor类型时T为mini-batch的总时间步。D 为正例加负例的个数。该输入为logits而非概率。数据类型是float32或float64。
- **label** (Variable|list) - 2-D tensor<int64> 类型的真实值, 形为[N x 1] - **label** (Variable) - 形为[T x 1],表示input中正例的下标,数据类型为int64。。
- **name** (str|None) - (可选)该层的命名。 如果为None, 则自动为该层命名。 默认为None. - **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 ...@@ -29,14 +39,13 @@ bpr_loss
import paddle.fluid as fluid import paddle.fluid as fluid
neg_size = 10 neg_size = 3
# label=[0]
label = fluid.layers.data( label = fluid.layers.data(
name="label", shape=[1], dtype="int64") name="label", shape=[1], dtype="int64")
# predict = [0.1, 0.2, 0.3, 0.4]
predict = fluid.layers.data( predict = fluid.layers.data(
name="predict", shape=[neg_size + 1], dtype="float32") 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) cost = fluid.layers.bpr_loss(input=predict, label=label)
...@@ -24,7 +24,7 @@ data_norm ...@@ -24,7 +24,7 @@ data_norm
y_i &\gets \gamma \hat{x_i} + \beta \qquad &//\ scale\ and\ shift y_i &\gets \gamma \hat{x_i} + \beta \qquad &//\ scale\ and\ shift
参数: 参数:
- **input** (variable) - 输入变量,它是一个LoDTensor。 - **input** (Variable) - 输入变量,它是一个LoDTensor。
- **act** (string,默认None) - 激活函数类型,线性| relu | prelu | ... - **act** (string,默认None) - 激活函数类型,线性| relu | prelu | ...
- **epsilon** (float,默认1e-05) - - **epsilon** (float,默认1e-05) -
- **param_attr** (ParamAttr) - 参数比例的参数属性。 - **param_attr** (ParamAttr) - 参数比例的参数属性。
......
...@@ -5,24 +5,24 @@ load ...@@ -5,24 +5,24 @@ load
.. py:function:: paddle.fluid.layers.load(out, file_path, load_as_fp16=None) .. 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 - **out** (Variable) - 需要加载的LoDTensor或SelectedRows。
- **file_path** (STRING)-预从“file_path”中加载的变量Variable - **file_path** (str) - 从“file_path”中加载的变量Variable
- **load_as_fp16** (BOOLEAN)-如果为真,张量首先进行加载然后类型转换成float16。如果为假,张量将直接加载,不需要进行数据类型转换。默认为false。 - **load_as_fp16** (BOOLEAN) - 如果为真,张量首先进行加载然后类型转换成float16。如果为假,张量将直接加载,不需要进行数据类型转换。默认为false。
返回:None 返回: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")
......
...@@ -7,22 +7,30 @@ teacher_student_sigmoid_loss ...@@ -7,22 +7,30 @@ teacher_student_sigmoid_loss
**Teacher Student Log Loss Layer(教师--学生对数损失层)** **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:: .. math::
loss = max(x, 0) - x * z + log(1 + exp(-abs(x))) + max(x, 0) - x * z' + log(1 + exp(-abs(x))) 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。 该输入是由前一个运算计算而得的概率 - **input** (Variable) – 形状为[N x 1]的2-d Tensor,其中N是批大小batch size。 该输入是由前一个运算计算而得的概率,数据类型为float32或者float64
- **label** (Variable|list) – 具有形状[N x 1]的二维张量的真实值,其中N是批大小batch_size - **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_up_bound** (float) – 若input > soft_max_up_bound, 输入会被向下限制。默认为15.0
- **soft_max_lower_bound** (float) – 若input < soft_max_lower_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
**代码示例**: **代码示例**:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册