diff --git a/doc/fluid/user_guides/nlp_case/machine_translation/README.cn.md b/doc/fluid/user_guides/nlp_case/machine_translation/README.cn.md index 9b13cf3da05ee3a92d90b7e1cc677b3d1cae9cb5..b255601f1742828862e78207315f8544b1c8f2d6 100644 --- a/doc/fluid/user_guides/nlp_case/machine_translation/README.cn.md +++ b/doc/fluid/user_guides/nlp_case/machine_translation/README.cn.md @@ -5,7 +5,7 @@ ### 说明 1. 硬件要求 本文可支持在CPU、GPU下运行 2. 对docker file cuda/cudnn的支持 如果您使用了本文配套的docker镜像,请注意:该镜像对GPU的支持仅限于CUDA 8,cuDNN 5 -3. 文档中代码和seq2seq.py不一致的问题 请注意:为使本文更加易读易用,我们拆分、调整了seq2seq.py的代码并放入本文。本文中代码与seq2seq.py的运行结果一致,如希望直接看到训练脚本输出效果,可运行[seq2seq.py](https://github.com/PaddlePaddle/book/blob/develop/08.machine_translation/seq2seq.py)。 +3. 文档中代码和seq2seq.py不一致的问题 请注意:为使本文更加易读易用,我们拆分、调整了seq2seq.py的代码并放入本文。本文中代码与seq2seq.py的运行结果一致,如希望直接看到训练脚本输出效果,可运行[seq2seq.py](https://github.com/PaddlePaddle/FluidDoc/blob/develop/doc/fluid/user_guides/nlp_case/machine_translation/seq2seq.py)。 ## 背景介绍 @@ -436,15 +436,16 @@ def loss_func(logits, label, trg_sequence_length): return avg_cost def optimizer_func(): - # 设置梯度裁剪 - fluid.clip.set_gradient_clip( - clip=fluid.clip.GradientClipByGlobalNorm(clip_norm=5.0)) + # 定义梯度裁剪策略 + clip = fluid.clip.GradientClipByGlobalNorm(clip_norm=5.0) # 定义先增后降的学习率策略 lr_decay = fluid.layers.learning_rate_scheduler.noam_decay(hidden_dim, 1000) + # 定义优化器 return fluid.optimizer.Adam( learning_rate=lr_decay, regularization=fluid.regularizer.L2DecayRegularizer( - regularization_coeff=1e-4)) + regularization_coeff=1e-4), + grad_clip=clip) ``` ## 训练模型 diff --git a/doc/fluid/user_guides/nlp_case/machine_translation/index.cn.html b/doc/fluid/user_guides/nlp_case/machine_translation/index.cn.html index e9c1314690a720dfdd05ea512386d4b458a620ec..38a1cb1abf02d1da3640e5dc677586df10614e12 100644 --- a/doc/fluid/user_guides/nlp_case/machine_translation/index.cn.html +++ b/doc/fluid/user_guides/nlp_case/machine_translation/index.cn.html @@ -47,7 +47,7 @@ ### 说明 1. 硬件要求 本文可支持在CPU、GPU下运行 2. 对docker file cuda/cudnn的支持 如果您使用了本文配套的docker镜像,请注意:该镜像对GPU的支持仅限于CUDA 8,cuDNN 5 -3. 文档中代码和seq2seq.py不一致的问题 请注意:为使本文更加易读易用,我们拆分、调整了seq2seq.py的代码并放入本文。本文中代码与seq2seq.py的运行结果一致,如希望直接看到训练脚本输出效果,可运行[seq2seq.py](https://github.com/PaddlePaddle/book/blob/develop/08.machine_translation/seq2seq.py)。 +3. 文档中代码和seq2seq.py不一致的问题 请注意:为使本文更加易读易用,我们拆分、调整了seq2seq.py的代码并放入本文。本文中代码与seq2seq.py的运行结果一致,如希望直接看到训练脚本输出效果,可运行[seq2seq.py](https://github.com/PaddlePaddle/FluidDoc/blob/develop/doc/fluid/user_guides/nlp_case/machine_translation/seq2seq.py)。 ## 背景介绍 @@ -94,7 +94,7 @@ GRU\[[2](#参考文献)\]是Cho等人在LSTM上提出的简化版本,也是RNN - 重置门(reset gate):如果重置门关闭,会忽略掉历史信息,即历史不相干的信息不会影响未来的输出。 - 更新门(update gate):将LSTM的输入门和遗忘门合并,用于控制历史信息对当前时刻隐层输出的影响。如果更新门接近1,会把历史信息传递下去。
-
+
图2. GRU(门控循环单元)
-
+
图6. 基于注意力机制的解码器