From 7d7e4552677089c0eb59a3b0b8a7156ca8e9f2ff Mon Sep 17 00:00:00 2001 From: JiabinYang Date: Fri, 13 Jul 2018 22:01:27 +0000 Subject: [PATCH] refine the presentation format for '04.word2vect' --- 04.word2vec/README.cn.md | 14 ++------------ 04.word2vec/image/inference_rlt.png | Bin 0 -> 13381 bytes 04.word2vec/image/train_rlt.png | Bin 0 -> 20669 bytes 04.word2vec/index.cn.html | 14 ++------------ 4 files changed, 4 insertions(+), 24 deletions(-) create mode 100644 04.word2vec/image/inference_rlt.png create mode 100644 04.word2vec/image/train_rlt.png diff --git a/04.word2vec/README.cn.md b/04.word2vec/README.cn.md index 00493fd..5f5d564 100644 --- a/04.word2vec/README.cn.md +++ b/04.word2vec/README.cn.md @@ -337,12 +337,7 @@ def train(use_cuda, train_program, params_dirname): - `trainer.train`将会开始训练。从`event_handler`返回的监控情况如下: -```python -Step 0: Average Cost 7.337213 -Step 10: Average Cost 6.136128 -Step 20: Average Cost 5.766995 -... -``` +
## 模型应用 在模型训练后,我们可以用它做一些预测。 @@ -394,12 +389,7 @@ def infer(use_cuda, inference_program, params_dirname=None): 在经历3分钟的短暂训练后,我们得到如下的预测。我们的模型预测 `among a group of` 的下一个词是`a`。这比较符合文法规律。如果我们训练时间更长,比如几个小时,那么我们会得到的下一个预测是 `workers`。 - -```python -[[0.00106646 0.0007907 0.00072041 ... 0.00049024 0.00041355 0.00084464]] -6 -a -``` +
整个程序的入口很简单: diff --git a/04.word2vec/image/inference_rlt.png b/04.word2vec/image/inference_rlt.png new file mode 100644 index 0000000000000000000000000000000000000000..4ca8e22d487644e9d62b1e5bacee8b957a0e515c GIT binary patch literal 13381 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 Ir04g)069s438 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

JLtCiID&PXeish8#oZIOyERW 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
## 模型应用 在模型训练后,我们可以用它做一些预测。 @@ -436,12 +431,7 @@ def infer(use_cuda, inference_program, params_dirname=None): 在经历3分钟的短暂训练后,我们得到如下的预测。我们的模型预测 `among a group of` 的下一个词是`a`。这比较符合文法规律。如果我们训练时间更长,比如几个小时,那么我们会得到的下一个预测是 `workers`。 - -```python -[[0.00106646 0.0007907 0.00072041 ... 0.00049024 0.00041355 0.00084464]] -6 -a -``` +
整个程序的入口很简单: -- GitLab