提交 d42adaca 编写于 作者: C Cao Ying 提交者: GitHub

Merge pull request #175 from dzhwinter/ltr_readme

update readme of LTR
...@@ -4,14 +4,14 @@ ...@@ -4,14 +4,14 @@
RankNet模型在命令行输入: RankNet模型在命令行输入:
```python ```bash
python ranknet.py bash ./run_ranknet.sh
``` ```
LambdaRank模型在命令行输入: LambdaRank模型在命令行输入:
```python ```bash
python lambda_rank.py bash ./run_lambdarank.sh
``` ```
用户只需要使用以上命令就完成排序模型的训练和预测,程序会自动下载内置数据集,无需手动下载。 用户只需要使用以上命令就完成排序模型的训练和预测,程序会自动下载内置数据集,无需手动下载。
...@@ -54,7 +54,7 @@ python lambda_rank.py ...@@ -54,7 +54,7 @@ python lambda_rank.py
例如调用接口 例如调用接口
```python ```bash
pairwise_train_dataset = functools.partial(paddle.dataset.mq2007.train, format="pairwise") pairwise_train_dataset = functools.partial(paddle.dataset.mq2007.train, format="pairwise")
for label, left_doc, right_doc in pairwise_train_dataset(): for label, left_doc, right_doc in pairwise_train_dataset():
... ...
...@@ -104,7 +104,7 @@ $$\lambda _{i,j}=\frac{\partial C}{\partial s_{i}} = \frac{1}{2}(1-S_{i,j})-\fra ...@@ -104,7 +104,7 @@ $$\lambda _{i,j}=\frac{\partial C}{\partial s_{i}} = \frac{1}{2}(1-S_{i,j})-\fra
由于Pairwise中的网络结构是左右对称,可定义一半网络结构,另一半共享网络参数。在PaddlePaddle中允许网络结构中共享连接,具有相同名字的参数将会共享参数。使用PaddlePaddle实现RankNet排序模型,定义网络结构的示例代码如下: 由于Pairwise中的网络结构是左右对称,可定义一半网络结构,另一半共享网络参数。在PaddlePaddle中允许网络结构中共享连接,具有相同名字的参数将会共享参数。使用PaddlePaddle实现RankNet排序模型,定义网络结构的示例代码如下:
```python ```bash
import paddle.v2 as paddle import paddle.v2 as paddle
def half_ranknet(name_prefix, input_dim): def half_ranknet(name_prefix, input_dim):
...@@ -150,7 +150,7 @@ def ranknet(input_dim): ...@@ -150,7 +150,7 @@ def ranknet(input_dim):
RankNet的训练只需要运行命令: RankNet的训练只需要运行命令:
```python ```python
python ranknet.py run ./run_ranknet.sh
``` ```
将会自动下载数据,训练RankNet模型,并将每个轮次的模型参数存储下来。 将会自动下载数据,训练RankNet模型,并将每个轮次的模型参数存储下来。
...@@ -277,7 +277,7 @@ def lambda_rank(input_dim): ...@@ -277,7 +277,7 @@ def lambda_rank(input_dim):
训练LambdaRank模型只需要运行命令: 训练LambdaRank模型只需要运行命令:
```python ```python
python lambda_rank.py bash ./run_lambdarank.sh
``` ```
脚本会自动下载数据,训练LambdaRank模型,并将每个轮次的模型存储下来。 脚本会自动下载数据,训练LambdaRank模型,并将每个轮次的模型存储下来。
......
...@@ -46,14 +46,14 @@ ...@@ -46,14 +46,14 @@
RankNet模型在命令行输入: RankNet模型在命令行输入:
```python ```bash
python ranknet.py bash ./run_ranknet.sh
``` ```
LambdaRank模型在命令行输入: LambdaRank模型在命令行输入:
```python ```bash
python lambda_rank.py bash ./run_lambdarank.sh
``` ```
用户只需要使用以上命令就完成排序模型的训练和预测,程序会自动下载内置数据集,无需手动下载。 用户只需要使用以上命令就完成排序模型的训练和预测,程序会自动下载内置数据集,无需手动下载。
...@@ -96,7 +96,7 @@ python lambda_rank.py ...@@ -96,7 +96,7 @@ python lambda_rank.py
例如调用接口 例如调用接口
```python ```bash
pairwise_train_dataset = functools.partial(paddle.dataset.mq2007.train, format="pairwise") pairwise_train_dataset = functools.partial(paddle.dataset.mq2007.train, format="pairwise")
for label, left_doc, right_doc in pairwise_train_dataset(): for label, left_doc, right_doc in pairwise_train_dataset():
... ...
...@@ -146,7 +146,7 @@ $$\lambda _{i,j}=\frac{\partial C}{\partial s_{i}} = \frac{1}{2}(1-S_{i,j})-\fra ...@@ -146,7 +146,7 @@ $$\lambda _{i,j}=\frac{\partial C}{\partial s_{i}} = \frac{1}{2}(1-S_{i,j})-\fra
由于Pairwise中的网络结构是左右对称,可定义一半网络结构,另一半共享网络参数。在PaddlePaddle中允许网络结构中共享连接,具有相同名字的参数将会共享参数。使用PaddlePaddle实现RankNet排序模型,定义网络结构的示例代码如下: 由于Pairwise中的网络结构是左右对称,可定义一半网络结构,另一半共享网络参数。在PaddlePaddle中允许网络结构中共享连接,具有相同名字的参数将会共享参数。使用PaddlePaddle实现RankNet排序模型,定义网络结构的示例代码如下:
```python ```bash
import paddle.v2 as paddle import paddle.v2 as paddle
def half_ranknet(name_prefix, input_dim): def half_ranknet(name_prefix, input_dim):
...@@ -192,7 +192,7 @@ def ranknet(input_dim): ...@@ -192,7 +192,7 @@ def ranknet(input_dim):
RankNet的训练只需要运行命令: RankNet的训练只需要运行命令:
```python ```python
python ranknet.py run ./run_ranknet.sh
``` ```
将会自动下载数据,训练RankNet模型,并将每个轮次的模型参数存储下来。 将会自动下载数据,训练RankNet模型,并将每个轮次的模型参数存储下来。
...@@ -319,7 +319,7 @@ def lambda_rank(input_dim): ...@@ -319,7 +319,7 @@ def lambda_rank(input_dim):
训练LambdaRank模型只需要运行命令: 训练LambdaRank模型只需要运行命令:
```python ```python
python lambda_rank.py bash ./run_lambdarank.sh
``` ```
脚本会自动下载数据,训练LambdaRank模型,并将每个轮次的模型存储下来。 脚本会自动下载数据,训练LambdaRank模型,并将每个轮次的模型存储下来。
......
...@@ -129,4 +129,4 @@ if __name__ == '__main__': ...@@ -129,4 +129,4 @@ if __name__ == '__main__':
if args.run_type == "train": if args.run_type == "train":
train_lambda_rank(args.num_passes) train_lambda_rank(args.num_passes)
elif args.run_type == "infer": elif args.run_type == "infer":
lambda_rank_infer(pass_id=args.pass_num - 1) lambda_rank_infer(pass_id=args.num_passes - 1)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册