From ac96359092fab048b4acc2379b97fdf7a5e650b2 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Mon, 17 Oct 2016 05:41:34 +0000 Subject: [PATCH] Deploy to GitHub Pages: e4952ca6cea9130258086b4b7f2dff7a8bf5f566 --- .../ui/api/trainer_config_helpers/layers.txt | 6 + doc/genindex.html | 16 +- doc/objects.inv | Bin 155870 -> 155825 bytes doc/searchindex.js | 2 +- doc/source/cuda/rnn/rnn.html | 4 +- doc/source/gserver/layers/layer.html | 17 +- doc/source/math/matrix/matrix.html | 12 +- doc/ui/api/trainer_config_helpers/layers.html | 44 ++ .../trainer_config_helpers/layers_index.html | 1 + doc_cn/.buildinfo | 2 +- ...e6aad37f57c60f4b971dde0ef44ce27179cf9a.png | Bin 0 -> 11618 bytes ...d37f57c60f4b971dde0ef44ce27179cf9a.png.map | 2 + .../algorithm/rnn/hierarchical-layer.txt | 66 +++ .../algorithm/rnn/hierarchical-rnn.txt | 267 ++++++++++++ .../_sources/algorithm/rnn/rnn-tutorial.txt | 96 +++++ doc_cn/_sources/faq/index.txt | 169 ++++++++ doc_cn/_sources/index.txt | 12 +- doc_cn/algorithm/rnn/hierarchical-layer.html | 196 +++++++++ doc_cn/algorithm/rnn/hierarchical-rnn.html | 404 ++++++++++++++++++ doc_cn/algorithm/rnn/rnn-tutorial.html | 222 ++++++++++ doc_cn/faq/index.html | 329 ++++++++++++++ doc_cn/index.html | 12 +- doc_cn/objects.inv | Bin 851 -> 986 bytes doc_cn/searchindex.js | 2 +- 24 files changed, 1842 insertions(+), 39 deletions(-) create mode 100644 doc_cn/_images/graphviz-9be6aad37f57c60f4b971dde0ef44ce27179cf9a.png create mode 100644 doc_cn/_images/graphviz-9be6aad37f57c60f4b971dde0ef44ce27179cf9a.png.map create mode 100644 doc_cn/_sources/algorithm/rnn/hierarchical-layer.txt create mode 100644 doc_cn/_sources/algorithm/rnn/hierarchical-rnn.txt create mode 100644 doc_cn/_sources/algorithm/rnn/rnn-tutorial.txt create mode 100644 doc_cn/_sources/faq/index.txt create mode 100644 doc_cn/algorithm/rnn/hierarchical-layer.html create mode 100644 doc_cn/algorithm/rnn/hierarchical-rnn.html create mode 100644 doc_cn/algorithm/rnn/rnn-tutorial.html create mode 100644 doc_cn/faq/index.html diff --git a/doc/_sources/ui/api/trainer_config_helpers/layers.txt b/doc/_sources/ui/api/trainer_config_helpers/layers.txt index 5271262d20..55f5623b0f 100644 --- a/doc/_sources/ui/api/trainer_config_helpers/layers.txt +++ b/doc/_sources/ui/api/trainer_config_helpers/layers.txt @@ -130,6 +130,12 @@ gru_step_layer Recurrent Layer Group ===================== +memory +------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: memory + :noindex: + recurrent_group --------------- .. automodule:: paddle.trainer_config_helpers.layers diff --git a/doc/genindex.html b/doc/genindex.html index 5eb89b5c23..be28cc77b4 100644 --- a/doc/genindex.html +++ b/doc/genindex.html @@ -1823,7 +1823,7 @@ var _hmt = _hmt || []; -
hl_sequence2batch_copy (C++ function) +
hl_sequence2batch_copy (C++ function)
@@ -5247,7 +5247,7 @@ var _hmt = _hmt || []; -
paddle::CpuMatrix::copyByRowIndex (C++ function) +
paddle::CpuMatrix::copyByRowIndex (C++ function)
@@ -6955,10 +6955,6 @@ var _hmt = _hmt || []; -
paddle::ExpandLayer::cpuExpandStartsPos_ (C++ member) -
- -
paddle::ExpandLayer::ExpandLayer (C++ function)
@@ -7359,7 +7355,7 @@ var _hmt = _hmt || []; -
paddle::GpuMatrix::copyByRowIndex (C++ function) +
paddle::GpuMatrix::copyByRowIndex (C++ function)
@@ -9339,7 +9335,7 @@ var _hmt = _hmt || []; -
paddle::Matrix::copyByRowIndex (C++ function) +
paddle::Matrix::copyByRowIndex (C++ function)
@@ -14465,10 +14461,6 @@ var _hmt = _hmt || []; -
paddle::SequenceScatterAgentLayer::cpuInputStartPos_ (C++ member) -
- -
paddle::SequenceScatterAgentLayer::forward (C++ function)
diff --git a/doc/objects.inv b/doc/objects.inv index 79342bbd9c89e91b9357f8e9fbd1dd078184916b..98b2d37bdc444d410d55816fe2413469a7a64ea2 100644 GIT binary patch delta 144191 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%0As`iqE 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
@@ -2551,8 +2551,8 @@ where bit(i, j) = ((codes(i) + numClasses) & 2^j) ? 1 : 0
-
-virtual void copyByRowIndex(Matrix &b, IVector &rowIndex)
+
+virtual void copyByRowIndex(Matrix &b, const IVector &rowIndex)
@@ -3111,8 +3111,8 @@ where bit(i, j) = ((codes(i) + numClasses) & 2^j) ? 1 : 0
-
-virtual void copyByRowIndex(Matrix &b, IVector &rowIndex)
+
+virtual void copyByRowIndex(Matrix &b, const IVector &rowIndex)
diff --git a/doc/ui/api/trainer_config_helpers/layers.html b/doc/ui/api/trainer_config_helpers/layers.html index a11f93cb71..d61c8d0a00 100644 --- a/doc/ui/api/trainer_config_helpers/layers.html +++ b/doc/ui/api/trainer_config_helpers/layers.html @@ -901,6 +901,49 @@ will get a warning.

Recurrent Layer Group

+
+

memory

+
+
+paddle.trainer_config_helpers.layers.memory(name, size, is_seq=False, boot_layer=None, boot_bias=None, boot_bias_active_type=None, boot_with_const_id=None)
+

The memory layers is a layer cross each time step. Reference this output +as previous time step layer name ‘s output.

+

The default memory is zero in first time step, previous time step’s +output in the rest time steps.

+

If boot_bias, the first time step value is this bias and +with activation.

+

If boot_with_const_id, then the first time stop is a IndexSlot, the +Arguments.ids()[0] is this cost_id.

+

If boot_layer is not null, the memory is just the boot_layer’s output. +Set is_seq is true boot layer is sequence.

+

The same name layer in recurrent group will set memory on each time +step.

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – memory’s name.
  • +
  • size (int) – size of memory.
  • +
  • is_seq (bool) – is sequence for boot_layer
  • +
  • boot_layer (LayerOutput|None) – boot layer of memory.
  • +
  • boot_bias (ParameterAttribute|None) – boot layer’s bias
  • +
  • boot_bias_active_type (BaseActivation) – boot layer’s active type.
  • +
  • boot_with_const_id (int) – boot layer’s id.
  • +
+
Returns:

LayerOutput object which is a memory.

+
Return type:

LayerOutput

+
+
+ +

recurrent_group

@@ -2647,6 +2690,7 @@ It is used by recurrent layer group.

  • Recurrent Layer Group
      +
    • memory
    • recurrent_group
    • beam_search
    • get_output_layer
    • diff --git a/doc/ui/api/trainer_config_helpers/layers_index.html b/doc/ui/api/trainer_config_helpers/layers_index.html index 0740512a8b..4b825430a0 100644 --- a/doc/ui/api/trainer_config_helpers/layers_index.html +++ b/doc/ui/api/trainer_config_helpers/layers_index.html @@ -114,6 +114,7 @@ var _hmt = _hmt || [];
  • Recurrent Layer Group
      +
    • memory
    • recurrent_group
    • beam_search
    • get_output_layer
    • diff --git a/doc_cn/.buildinfo b/doc_cn/.buildinfo index fc2ad92e9f..273d212ecc 100644 --- a/doc_cn/.buildinfo +++ b/doc_cn/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 70a318b9e7a63a79aedc16f559247671 +config: 8f9e3b6337374f468cc7e48534c4662a tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/doc_cn/_images/graphviz-9be6aad37f57c60f4b971dde0ef44ce27179cf9a.png b/doc_cn/_images/graphviz-9be6aad37f57c60f4b971dde0ef44ce27179cf9a.png new file mode 100644 index 0000000000000000000000000000000000000000..55ca643c25832d8065aa210aba221028e54d091f GIT binary patch literal 11618 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 + diff --git a/doc_cn/_sources/algorithm/rnn/hierarchical-layer.txt b/doc_cn/_sources/algorithm/rnn/hierarchical-layer.txt new file mode 100644 index 0000000000..5282bbbcb8 --- /dev/null +++ b/doc_cn/_sources/algorithm/rnn/hierarchical-layer.txt @@ -0,0 +1,66 @@ +# 支持双层序列作为输入的Layer + +## 概述 + +在自然语言处理任务中,序列是一种常见的数据类型。一个独立的词语,可以看作是一个非序列输入,或者,我们称之为一个0层的序列;由词语构成的句子,是一个单层序列;若干个句子构成一个段落,是一个双层的序列。 + +双层序列是一个嵌套的序列,它的每一个元素,又是一个单层的序列。这是一种非常灵活的数据组织方式,帮助我们构造一些复杂的输入信息。 + +我们可以按照如下层次定义非序列,单层序列,以及双层序列。 + ++ 0层序列:一个独立的元素,类型可以是PaddlePaddle支持的任意输入数据类型 ++ 单层序列:排成一列的多个元素,每个元素是一个0层序列,元素之间的顺序是重要的输入信息 ++ 双层序列:排成一列的多个元素,每个元素是一个单层序列,称之为双层序列的一个子序列(subseq),subseq的每个元素是一个0层序列 + + +在 PaddlePaddle中,下面这些Layer能够接受双层序列作为输入,完成相应的计算。 +## pooling_layer + +pooling_layer的使用示例如下,详细见配置API。 +```python +seq_pool = pooling_layer(input=layer, + pooling_type=AvgPooling(), + agg_level=AggregateLevel.EACH_SEQUENCE) +``` +- `pooling_type` 目前支持两种,分别是:MaxPooling()和AvgPooling()。 +- `agg_level=AggregateLevel.TIMESTEP`时(默认值): + - 作用:双层序列经过运算变成一个0层序列,或单层序列经过运算变成一个0层序列 + - 输入:一个双层序列,或一个单层序列 + - 输出:一个0层序列,即整个输入序列(单层或双层)的平均值(或最大值) +- `agg_level=AggregateLevel.EACH_SEQUENCE`时: + - 作用:一个双层序列经过运算变成一个单层序列 + - 输入:必须是一个双层序列 + - 输出:一个单层序列,序列的每个元素是原来双层序列每个subseq元素的平均值(或最大值) + +## last_seq 和 first_seq + +last_seq的使用示例如下(first_seq类似),详细见配置API。 +```python +last = last_seq(input=layer, + agg_level=AggregateLevel.EACH_SEQUENCE) +``` +- `agg_level=AggregateLevel.TIMESTEP`时(默认值): + - 作用:一个双层序列经过运算变成一个0层序列,或一个单层序列经过运算变成一个0层序列 + - 输入:一个双层序列或一个单层序列 + - 输出:一个0层序列,即整个输入序列(双层或者单层)最后一个,或第一个元素。 +- `agg_level=AggregateLevel.EACH_SEQUENCE`时: + - 作用:一个双层序列经过运算变成一个单层序列 + - 输入:必须是一个双层序列 + - 输出:一个单层序列,其中每个元素是双层序列中每个subseq最后一个(或第一个)元素。 + +## expand_layer + +expand_layer的使用示例如下,详细见配置API。 +```python +expand = expand_layer(input=layer1, + expand_as=layer2, + expand_level=ExpandLevel.FROM_TIMESTEP) +``` +- `expand_level=ExpandLevel.FROM_TIMESTEP`时(默认值): + - 作用:一个0层序列经过运算扩展成一个单层序列,或者一个双层序列 + - 输入:layer1必须是一个0层序列,是待扩展的数据;layer2可以是一个单层序列,或者是一个双层序列,提供扩展的长度信息 + - 输出:一个单层序列,或一个双层序列,输出序列的类型(双层序列,或单层序列)和序列中含有元素的数目同 layer2一致。若输出是单层序列,单层序列的每个元素(0层序列),都是对layer1元素的拷贝;若输出是双层序列,双层序列每个subseq中每个元素(0层序列),都是对layer1元素的拷贝 +- `expand_level=ExpandLevel.FROM_SEQUENCE`时: + - 作用:一个单层序列经过运算扩展成一个双层序列 + - 输入:layer1必须是一个单层序列,是待扩展的数据;layer2必须是一个双层序列,提供扩展的长度信息 + - 输出:一个双层序列,序列中含有元素的数目同layer2一致。要求单层序列含有元素的数目(0层序列),和双层序列含有subseq 的数目一致。单层序列第i个元素(0层序列),被扩展为一个单层序列,构成了输出双层序列的第i个subseq。 \ No newline at end of file diff --git a/doc_cn/_sources/algorithm/rnn/hierarchical-rnn.txt b/doc_cn/_sources/algorithm/rnn/hierarchical-rnn.txt new file mode 100644 index 0000000000..979fe13e2e --- /dev/null +++ b/doc_cn/_sources/algorithm/rnn/hierarchical-rnn.txt @@ -0,0 +1,267 @@ +# 双层RNN配置与示例 + +我们在`paddle/gserver/tests/test_RecurrentGradientMachine`单测中,通过多组语义相同的单双层RNN配置,讲解如何使用双层RNN。 + +## 示例1:双进双出,subseq间无memory + +配置:单层RNN(`sequence_layer_group`)和双层RNN(`sequence_nest_layer_group`),语义完全相同。 + +### 读取双层序列的方法 + +首先,我们看一下单双层序列的不同数据组织形式(您也可以采用别的组织形式): + +- 单层序列的数据(`Sequence/tour_train_wdseg`)如下,一共有10个样本。每个样本由两部分组成,一个label(此处都为2)和一个已经分词后的句子。 + +```text +2 酒店 有 很 舒适 的 床垫 子 , 床上用品 也 应该 是 一人 一 换 , 感觉 很 利落 对 卫生 很 放心 呀 。 +2 很 温馨 , 也 挺 干净 的 * 地段 不错 , 出来 就 有 全家 , 离 地铁站 也 近 , 交通 很方便 * 就是 都 不 给 刷牙 的 杯子 啊 , 就 第一天 给 了 一次性杯子 * +2 位置 方便 , 强烈推荐 , 十一 出去玩 的 时候 选 的 , 对面 就是 华润万家 , 周围 吃饭 的 也 不少 。 +2 交通便利 , 吃 很 便利 , 乾 浄 、 安静 , 商务 房 有 电脑 、 上网 快 , 价格 可以 , 就 早餐 不 好吃 。 整体 是 不错 的 。 適 合 出差 來 住 。 +2 本来 准备 住 两 晚 , 第 2 天 一早 居然 停电 , 且 无 通知 , 只有 口头 道歉 。 总体来说 性价比 尚可 , 房间 较 新 , 还是 推荐 . +2 这个 酒店 去过 很多 次 了 , 选择 的 主要原因 是 离 客户 最 便宜 相对 又 近 的 酒店 +2 挺好 的 汉庭 , 前台 服务 很 热情 , 卫生 很 整洁 , 房间 安静 , 水温 适中 , 挺好 ! +2 HowardJohnson 的 品质 , 服务 相当 好 的 一 家 五星级 。 房间 不错 、 泳池 不错 、 楼层 安排 很 合理 。 还有 就是 地理位置 , 简直 一 流 。 就 在 天一阁 、 月湖 旁边 , 离 天一广场 也 不远 。 下次 来 宁波 还会 住 。 +2 酒店 很干净 , 很安静 , 很 温馨 , 服务员 服务 好 , 各方面 都 不错 * +2 挺好 的 , 就是 没 窗户 , 不过 对 得 起 这 价格 +``` + +- 双层序列的数据(`Sequence/tour_train_wdseg.nest`)如下,一共有4个样本。样本间用空行分开,代表不同的双层序列,序列数据和上面的完全一样。每个样本的子句数分别为2,3,2,3。 + +```text +2 酒店 有 很 舒适 的 床垫 子 , 床上用品 也 应该 是 一人 一 换 , 感觉 很 利落 对 卫生 很 放心 呀 。 +2 很 温馨 , 也 挺 干净 的 * 地段 不错 , 出来 就 有 全家 , 离 地铁站 也 近 , 交通 很方便 * 就是 都 不 给 刷牙 的 杯子 啊 , 就 第一天 给 了 一次性杯子 * + +2 位置 方便 , 强烈推荐 , 十一 出去玩 的 时候 选 的 , 对面 就是 华润万家 , 周围 吃饭 的 也 不少 。 +2 交通便利 , 吃 很 便利 , 乾 浄 、 安静 , 商务 房 有 电脑 、 上网 快 , 价格 可以 , 就 早餐 不 好吃 。 整体 是 不错 的 。 適 合 出差 來 住 。 +2 本来 准备 住 两 晚 , 第 2 天 一早 居然 停电 , 且 无 通知 , 只有 口头 道歉 。 总体来说 性价比 尚可 , 房间 较 新 , 还是 推荐 . + +2 这个 酒店 去过 很多 次 了 , 选择 的 主要原因 是 离 客户 最 便宜 相对 又 近 的 酒店 +2 挺好 的 汉庭 , 前台 服务 很 热情 , 卫生 很 整洁 , 房间 安静 , 水温 适中 , 挺好 ! + +2 HowardJohnson 的 品质 , 服务 相当 好 的 一 家 五星级 。 房间 不错 、 泳池 不错 、 楼层 安排 很 合理 。 还有 就是 地理位置 , 简直 一 流 。 就 在 天一阁 、 月湖 旁边 , 离 天一广场 也 不远 。 下次 来 宁波 还会 住 。 +2 酒店 很干净 , 很安静 , 很 温馨 , 服务员 服务 好 , 各方面 都 不错 * +2 挺好 的 , 就是 没 窗户 , 不过 对 得 起 这 价格 +``` + +其次,我们看一下单双层序列的不同dataprovider(见`sequenceGen.py`): + +- 单层序列的dataprovider如下: + - word_slot是integer_value_sequence类型,代表单层序列。 + - label是integer_value类型,代表一个向量。 + +```python +def hook(settings, dict_file, **kwargs): + settings.word_dict = dict_file + settings.input_types = [integer_value_sequence(len(settings.word_dict)), + integer_value(3)] + +@provider(init_hook=hook) +def process(settings, file_name): + with open(file_name, 'r') as fdata: + for line in fdata: + label, comment = line.strip().split('\t') + label = int(''.join(label.split())) + words = comment.split() + word_slot = [settings.word_dict[w] for w in words if w in settings.word_dict] + yield word_slot, label +``` + +- 双层序列的dataprovider如下: + - word_slot是integer_value_sub_sequence类型,代表双层序列。 + - label是integer_value_sequence类型,代表单层序列,即一个子句一个label。注意:也可以为integer_value类型,代表一个向量,即一个句子一个label。通常根据任务需求进行不同设置。 + - 关于dataprovider中input_types的详细用法,参见PyDataProvider2。 + +```python +def hook2(settings, dict_file, **kwargs): + settings.word_dict = dict_file + settings.input_types = [integer_value_sub_sequence(len(settings.word_dict)), + integer_value_sequence(3)] + +@provider(init_hook=hook2) +def process2(settings, file_name): + with open(file_name) as fdata: + label_list = [] + word_slot_list = [] + for line in fdata: + if (len(line)) > 1: + label,comment = line.strip().split('\t') + label = int(''.join(label.split())) + words = comment.split() + word_slot = [settings.word_dict[w] for w in words if w in settings.word_dict] + label_list.append(label) + word_slot_list.append(word_slot) + else: + yield word_slot_list, label_list + label_list = [] + word_slot_list = [] +``` + +### 模型中的配置 + +首先,我们看一下单层序列的配置(见`sequence_layer_group.conf`)。注意:batchsize=5表示一次过5句单层序列,因此2个batch就可以完成1个pass。 + +```python +settings(batch_size=5) + +data = data_layer(name="word", size=dict_dim) + +emb = embedding_layer(input=data, size=word_dim) + +# (lstm_input + lstm) is equal to lstmemory +with mixed_layer(size=hidden_dim*4) as lstm_input: + lstm_input += full_matrix_projection(input=emb) + +lstm = lstmemory_group(input=lstm_input, + size=hidden_dim, + act=TanhActivation(), + gate_act=SigmoidActivation(), + state_act=TanhActivation(), + lstm_layer_attr=ExtraLayerAttribute(error_clipping_threshold=50)) + +lstm_last = last_seq(input=lstm) + +with mixed_layer(size=label_dim, + act=SoftmaxActivation(), + bias_attr=True) as output: + output += full_matrix_projection(input=lstm_last) + +outputs(classification_cost(input=output, label=data_layer(name="label", size=1))) + +``` +其次,我们看一下语义相同的双层序列配置(见`sequence_nest_layer_group.conf`),并对其详细分析: + +- batchsize=2表示一次过2句双层序列。但从上面的数据格式可知,2句双层序列和5句单层序列的数据完全一样。 +- data_layer和embedding_layer不关心数据是否是序列格式,因此两个配置在这两层上的输出是一样的。 +- lstmemory: + - 单层序列过了一个mixed_layer和lstmemory_group。 + - 双层序列在同样的mixed_layer和lstmemory_group外,直接加了一层group。由于这个外层group里面没有memory,表示subseq间不存在联系,即起到的作用仅仅是把双层seq拆成单层,因此双层序列过完lstmemory的输出和单层的一样。 +- last_seq: + - 单层序列直接取了最后一个元素 + - 双层序列首先(last_seq层)取了每个subseq的最后一个元素,将其拼接成一个新的单层序列;接着(expand_layer层)将其扩展成一个新的双层序列,其中第i个subseq中的所有向量均为输入的单层序列中的第i个向量;最后(average_layer层)取了每个subseq的平均值。 + - 分析得出:第一个last_seq后,每个subseq的最后一个元素就等于单层序列的最后一个元素,而expand_layer和average_layer后,依然保持每个subseq最后一个元素的值不变(这两层仅是为了展示它们的用法,实际中并不需要)。因此单双层序列的输出是一样旳。 + +```python +settings(batch_size=2) + +data = data_layer(name="word", size=dict_dim) + +emb_group = embedding_layer(input=data, size=word_dim) + +# (lstm_input + lstm) is equal to lstmemory +def lstm_group(lstm_group_input): + with mixed_layer(size=hidden_dim*4) as group_input: + group_input += full_matrix_projection(input=lstm_group_input) + + lstm_output = lstmemory_group(input=group_input, + name="lstm_group", + size=hidden_dim, + act=TanhActivation(), + gate_act=SigmoidActivation(), + state_act=TanhActivation(), + lstm_layer_attr=ExtraLayerAttribute(error_clipping_threshold=50)) + return lstm_output + +lstm_nest_group = recurrent_group(input=SubsequenceInput(emb_group), + step=lstm_group, + name="lstm_nest_group") +# hasSubseq ->(seqlastins) seq +lstm_last = last_seq(input=lstm_nest_group, agg_level=AggregateLevel.EACH_SEQUENCE) + +# seq ->(expand) hasSubseq +lstm_expand = expand_layer(input=lstm_last, expand_as=emb_group, expand_level=ExpandLevel.FROM_SEQUENCE) + +# hasSubseq ->(average) seq +lstm_average = pooling_layer(input=lstm_expand, + pooling_type=AvgPooling(), + agg_level=AggregateLevel.EACH_SEQUENCE) + +with mixed_layer(size=label_dim, + act=SoftmaxActivation(), + bias_attr=True) as output: + output += full_matrix_projection(input=lstm_average) + +outputs(classification_cost(input=output, label=data_layer(name="label", size=1))) +``` +## 示例2:双进双出,subseq间有memory + +配置:单层RNN(`sequence_rnn.conf`),双层RNN(`sequence_nest_rnn.conf`和`sequence_nest_rnn_readonly_memory.conf`),语义完全相同。 + +### 读取双层序列的方法 + +我们看一下单双层序列的不同数据组织形式和dataprovider(见`rnn_data_provider.py`) +```python +data = [ + [[[1, 3, 2], [4, 5, 2]], 0], + [[[0, 2], [2, 5], [0, 1, 2]], 1], +] + +@provider(input_types=[integer_value_sub_sequence(10), + integer_value(3)]) +def process_subseq(settings, file_name): + for d in data: + yield d + +@provider(input_types=[integer_value_sequence(10), + integer_value(3)]) +def process_seq(settings, file_name): + for d in data: + seq = [] +``` +- 单层序列:有两句,分别为[1,3,2,4,5,2]和[0,2,2,5,0,1,2]。 +- 双层序列:有两句,分别为[[1,3,2],[4,5,2]](2个子句)和[[0,2],[2,5],[0,1,2]](3个子句)。 +- 单双层序列的label都分别是0和1 + +### 模型中的配置 + +我们选取单双层序列配置中的不同部分,来对比分析两者语义相同的原因。 + +- 单层序列:过了一个很简单的recurrent_group。每一个时间步,当前的输入y和上一个时间步的输出rnn_state做了一个全链接。 + +```python +def step(y): + mem = memory(name="rnn_state", size=hidden_dim) + return fc_layer(input=[y, mem], + size=hidden_dim, + act=TanhActivation(), + bias_attr=True, + name="rnn_state") + +out = recurrent_group(step=step, input=emb) +``` +- 双层序列,外层memory是一个元素: + - 内层inner_step的recurrent_group和单层序列的几乎一样。除了boot_layer=outer_mem,表示将外层的outer_mem作为内层memory的初始状态。外层outer_step中,outer_mem是一个子句的最后一个向量,即整个双层group是将前一个子句的最后一个向量,作为下一个子句memory的初始状态。 + - 从输入数据上看,单双层序列的句子是一样的,只是双层序列将其又做了子序列划分。因此双层序列的配置中,必须将前一个子句的最后一个元素,作为boot_layer传给下一个子句的memory,才能保证和单层序列的配置中“每一个时间步都用了上一个时间步的输出结果”一致。 + +```python +def outer_step(x): + outer_mem = memory(name="outer_rnn_state", size=hidden_dim) + def inner_step(y): + inner_mem = memory(name="inner_rnn_state", + size=hidden_dim, + boot_layer=outer_mem) + return fc_layer(input=[y, inner_mem], + size=hidden_dim, + act=TanhActivation(), + bias_attr=True, + name="inner_rnn_state") + + inner_rnn_output = recurrent_group( + step=inner_step, + input=x) + last = last_seq(input=inner_rnn_output, name="outer_rnn_state") + + return inner_rnn_output + +out = recurrent_group(step=outer_step, input=SubsequenceInput(emb)) +``` +- 双层序列,外层memory是单层序列: + - 由于外层每个时间步返回的是一个子句,这些子句的长度往往不等长。因此当外层有is_seq=True的memory时,内层是**无法直接使用**它的,即内层memory的boot_layer不能链接外层的这个memory。 + - 如果内层memory想**间接使用**这个外层memory,只能通过`pooling_layer`、`last_seq`或`first_seq`这三个layer将它先变成一个元素。但这种情况下,外层memory必须有boot_layer,否则在第0个时间步时,由于外层memory没有任何seq信息,因此上述三个layer的前向会报出“**Check failed: input.sequenceStartPositions**”的错误。 + +## 示例3:双进双出,输入不等长 + +TBD + +## 示例4:beam_search的生成 + +TBD \ No newline at end of file diff --git a/doc_cn/_sources/algorithm/rnn/rnn-tutorial.txt b/doc_cn/_sources/algorithm/rnn/rnn-tutorial.txt new file mode 100644 index 0000000000..7a553054c8 --- /dev/null +++ b/doc_cn/_sources/algorithm/rnn/rnn-tutorial.txt @@ -0,0 +1,96 @@ +# Recurrent Group教程 + +## 概述 + +序列数据是自然语言处理任务面对的一种主要输入数据类型。 + +一句话是由词语构成的序列,多句话进一步构成了段落。因此,段落可以看作是一个嵌套的双层的序列,这个序列的每个元素又是一个序列。 + +双层序列是PaddlePaddle支持的一种非常灵活的数据组织方式,帮助我们更好地描述段落、多轮对话等更为复杂的语言数据。基于双层序列输入,我们可以设计搭建一个灵活的、层次化的RNN,分别从词语和句子级别编码输入数据,同时也能够引入更加复杂的记忆机制,更好地完成一些复杂的语言理解任务。 + +在PaddlePaddle中,`recurrent_group`是一种任意复杂的RNN单元,用户只需定义RNN在一个时间步内完成的计算,PaddlePaddle负责完成信息和误差在时间序列上的传播。 + +更进一步,`recurrent_group`同样可以扩展到双层序列的处理上。通过两个嵌套的`recurrent_group`分别定义子句级别和词语级别上需要完成的运算,最终实现一个层次化的复杂RNN。 + +目前,在PaddlePaddle中,能够对双向序列进行处理的有`recurrent_group`和部分Layer,具体可参考文档:支持双层序列作为输入的Layer。 + +## 相关概念 + +### 基本原理 +`recurrent_group` 是PaddlePaddle支持的一种任意复杂的RNN单元。使用者只需要关注于设计RNN在一个时间步之内完成的计算,PaddlePaddle负责完成信息和梯度在时间序列上的传播。 + +PaddlePaddle中,`recurrent_group`的一个简单调用如下: + +``` python +recurrent_group(step, input, reverse) +``` +- step:一个可调用的函数,定义一个时间步之内RNN单元完成的计算 +- input:输入,必须是一个单层序列,或者一个双层序列 +- reverse:是否以逆序处理输入序列 + +使用`recurrent_group`的核心是设计step函数的计算逻辑。step函数内部可以自由组合PaddlePaddle支持的各种layer,完成任意的运算逻辑。`recurrent_group` 的输入(即input)会成为step函数的输入,由于step 函数只关注于RNN一个时间步之内的计算,在这里`recurrent_group`替我们完成了原始输入数据的拆分。 + +### 输入 +`recurrent_group`处理的输入序列主要分为以下三种类型: + +- **数据输入**:一个双层序列进入`recurrent_group`会被拆解为一个单层序列,一个单层序列进入`recurrent_group`会被拆解为非序列,然后交给step函数,这一过程对用户是完全透明的。可以有以下两种:1)通过data_layer拿到的用户输入;2)其它layer的输出。 + +- **只读Memory输入**:`StaticInput` 定义了一个只读的Memory,由`StaticInput`指定的输入不会被`recurrent_group`拆解,`recurrent_group` 循环展开的每个时间步总是能够引用所有输入,可以是一个非序列,或者一个单层序列。 + +- **序列生成任务的输入**:`GeneratedInput`只用于在序列生成任务中指定输入数据。 + +### 输入示例 + +序列生成任务大多遵循encoder-decoer架构,encoder和decoder可以是能够处理序列的任意神经网络单元,而RNN是最流行的选择。 + +给定encoder输出和当前词,decoder每次预测产生下一个最可能的词语。在这种结构中,decoder接受两个输入: + +- 要生成的目标序列:是decoder的数据输入,也是decoder循环展开的依据,`recurrent_group`会对这类输入进行拆解。 + +- encoder输出,可以是一个非序列,或者一个单层序列:是一个unbounded memory,decoder循环展开的每一个时间步会引用全部结果,不应该被拆解,这种类型的输入必须通过`StaticInput`指定。关于Unbounded Memory的更多讨论请参考论文 [Neural Turning Machine](https://arxiv.org/abs/1410.5401)。 + +在序列生成任务中,decoder RNN总是引用上一时刻预测出的词的词向量,作为当前时刻输入。`GeneratedInput`自动完成这一过程。 + +### 输出 +`step`函数必须返回一个或多个Layer的输出,这个Layer的输出会作为整个`recurrent_group` 最终的输出结果。在输出的过程中,`recurrent_group` 会将每个时间步的输出拼接,这个过程对用户也是透明的。 + +### memory +memory只能在`recurrent_group`中定义和使用。memory不能独立存在,必须指向一个PaddlePaddle定义的Layer。引用memory得到这layer上一时刻输出,因此,可以将memory理解为一个时延操作。 + +可以显示地指定一个layer的输出用于初始化memory。不指定时,memory默认初始化为0。 + +## 双层RNN介绍 +`recurrent_group`帮助我们完成对输入序列的拆分,对输出的合并,以及计算逻辑在序列上的循环展开。 + +利用这种特性,两个嵌套的`recurrent_group`能够处理双层序列,实现词语和句子两个级别的双层RNN结构。 + +- 单层(word-level)RNN:每个状态(state)对应一个词(word)。 +- 双层(sequence-level)RNN:一个双层RNN由多个单层RNN组成,每个单层RNN(即双层RNN的每个状态)对应一个子句(subseq)。 + +为了描述方便,下文以NLP任务为例,将含有子句(subseq)的段落定义为一个双层序列,将含有词语的句子定义为一个单层序列,那么0层序列即为一个词语。 + +## 双层RNN的使用 + +### 训练流程的使用方法 +使用 `recurrent_group`需要遵循以下约定: + +- **单进单出**:输入和输出都是单层序列。 + - 如果有多个输入,不同输入序列含有的词语数必须严格相等。 + - 输出一个单层序列,输出序列的词语数和输入序列一致。 + - memory:在step函数中定义 memory指向一个layer,通过引用memory得到这个layer上一个时刻输出,形成recurrent 连接。memory的is_seq参数必须为false。如果没有定义memory,每个时间步之内的运算是独立的。 + - boot_layer:memory的初始状态,默认初始状为0,memory的is_seq参数必须为false。 + +- **双进双出**:输入和输出都是双层序列。 + - 如果有多个输入序列,不同输入含有的子句(subseq)数必须严格相等,但子句含有的词语数可以不相等。 + - 输出一个双层序列,子句(subseq)数、子句的单词数和指定的一个输入序列一致,默认为第一个输入。 + - memory:在step函数中定义memory,指向一个layer,通过引用memory得到这个layer上一个时刻的输出,形成recurrent连接。定义在外层`recurrent_group` step函数中的memory,能够记录上一个subseq 的状态,可以是一个单层序列(只作为read-only memory),也可以是一个词语。如果没有定义memory,那么 subseq 之间的运算是独立的。 + - boot_layer:memory 初始状态,可以是一个单层序列(只作为read-only memory)或一个向量。默认不设置,即初始状态为0。 + +- **双进单出**:目前还未支持,会报错"In hierachical RNN, all out links should be from sequences now"。 + + +### 生成流程的使用方法 +使用`beam_search`需要遵循以下约定: + +- 单层RNN:从一个word生成下一个word。 +- 双层RNN:即把单层RNN生成后的subseq给拼接成一个新的双层seq。从语义上看,也不存在一个subseq直接生成下一个subseq的情况。 \ No newline at end of file diff --git a/doc_cn/_sources/faq/index.txt b/doc_cn/_sources/faq/index.txt new file mode 100644 index 0000000000..283607957c --- /dev/null +++ b/doc_cn/_sources/faq/index.txt @@ -0,0 +1,169 @@ +#################### +PaddlePaddle常见问题 +#################### + +.. contents:: + +1. 如何减少PaddlePaddle的内存占用 +--------------------------------- + +神经网络的训练本身是一个非常消耗内存和显存的工作。经常会消耗数十G的内存和数G的显存。 +PaddlePaddle的内存占用主要分为如下几个方面\: + +* DataProvider缓冲池内存 (只针对内存) +* 神经元激活内存 (针对内存和显存) +* 参数内存 (针对内存和显存) +* 其他内存杂项 + +这其中,其他内存杂项是指PaddlePaddle本身所用的一些内存,包括字符串分配,临时变量等等, +这些内存就不考虑如何缩减了。 + +其他的内存的减少方法依次为 + + +减少DataProvider缓冲池内存 +++++++++++++++++++++++++++ + +PyDataProvider使用的是异步加载,同时在内存里直接随即选取数据来做Shuffle。即 + +.. graphviz:: + + digraph { + rankdir=LR; + 数据文件 -> 内存池 -> PaddlePaddle训练 + } + +所以,减小这个内存池即可减小内存占用,同时也可以加速开始训练前数据载入的过程。但是,这 +个内存池实际上决定了shuffle的粒度。所以,如果将这个内存池减小,又要保证数据是随机的, +那么最好将数据文件在每次读取之前做一次shuffle。可能的代码为 + +.. literalinclude:: reduce_min_pool_size.py + +这样做可以极大的减少内存占用,并且可能会加速训练过程。 详细文档参考 `这里 +<../ui/data_provider/pydataprovider2.html#provider>`_ 。 + +神经元激活内存 +++++++++++++++ + +神经网络在训练的时候,会对每一个激活暂存一些数据,包括激活,參差等等。 +在反向传递的时候,这些数据会被用来更新参数。这些数据使用的内存主要和两个参数有关系, +一是batch size,另一个是每条序列(Sequence)长度。所以,其实也是和每个mini-batch中包含 +的时间步信息成正比。 + +所以,做法可以有两种。他们是 + +* 减小batch size。 即在网络配置中 :code:`settings(batch_size=1000)` 设置成一个小一些的值。但是batch size本身是神经网络的超参数,减小batch size可能会对训练结果产生影响。 +* 减小序列的长度,或者直接扔掉非常长的序列。比如,一个数据集大部分序列长度是100-200, + 但是突然有一个10000长的序列,就很容易导致内存超限。特别是在LSTM等RNN中。 + +参数内存 +++++++++ + +PaddlePaddle支持非常多的优化算法(Optimizer),不同的优化算法需要使用不同大小的内存。 +例如如果使用 :code:`adadelta` 算法,则需要使用参数规模大约5倍的内存。 如果参数保存下来的 +文件为 :code:`100M`, 那么该优化算法至少需要 :code:`500M` 的内存。 + +可以考虑使用一些优化算法,例如 :code:`momentum`。 + +2. 如何加速PaddlePaddle的训练速度 +--------------------------------- + +PaddlePaddle是神经网络训练平台,加速PaddlePaddle训练有如下几个方面\: + +* 减少数据载入的耗时 +* 加速训练速度 +* 利用更多的计算资源 + +减少数据载入的耗时 +++++++++++++++++++ + +使用 :code:`pydataprovider`时,可以减少缓存池的大小,同时设置内存缓存功能,即可以极大的加速数据载入流程。 +:code:`DataProvider` 缓存池的减小,和之前减小通过减小缓存池来减小内存占用的原理一致。 + +.. literalinclude:: reduce_min_pool_size.py + +同时 :code:`@provider` 接口有一个 :code:`cache` 参数来控制缓存方法,将其设置成 :code:`CacheType.CACHE_PASS_IN_MEM` 的话,会将第一个 :code:`pass` (过完所有训练数据即为一个pass)生成的数据缓存在内存里,在之后的 :code:`pass` 中,不会再从 :code:`python` 端读取数据,而是直接从内存的缓存里读取数据。这也会极大减少数据读入的耗时。 + + +加速训练速度 +++++++++++++ + +PaddlePaddle支持Sparse的训练,sparse训练需要训练特征是 :code:`sparse_binary_vector` 、 :code:`sparse_vector` 、或者 :code:`integer_value` 的任一一种。同时,与这个训练数据交互的Layer,需要将其Parameter设置成 sparse 更新模式,即设置 :code:`sparse_update=True` + +这里使用简单的 :code:`word2vec` 训练语言模型距离,具体使用方法为\: + +使用一个词前两个词和后两个词,来预测这个中间的词。这个任务的DataProvider为\: + +.. literalinclude:: word2vec_dataprovider.py + +这个任务的配置为\: + +.. literalinclude:: word2vec_config.py + +更多关于sparse训练的内容请参考 `sparse训练的文档 `_ + +利用更多的计算资源 +++++++++++++++++++ + +利用更多的计算资源可以分为一下几个方式来进行\: + +* 单机CPU训练 + * 使用多线程训练。设置命令行参数 :code:`trainer_count`,即可以设置参与训练的线程数量。使用方法为 :code:`paddle train --trainer_count=4` +* 单机GPU训练 + * 使用显卡训练。设置命令行参数 :code:`use_gpu`。 使用方法为 :code:`paddle train --use_gpu=true` + * 使用多块显卡训练。设置命令行参数 :code:`use_gpu` 和 :code:`trainer_count`。使用 :code:`--use_gpu=True` 开启GPU训练,使用 :code:`trainer_count` 指定显卡数量。使用方法为 :code:`paddle train --use_gpu=true --trainer_count=4` +* 多机训练 + * 使用多机训练的方法也比较简单,需要先在每个节点启动 :code:`paddle pserver`,在使用 :code:`paddle train --pservers=192.168.100.1,192.168.100.2` 来指定每个pserver的ip地址 + * 具体的多机训练方法参考 `多机训练 `_ 文档。 + + +3. 遇到“非法指令”或者是“illegal instruction” +-------------------------------------------- + +paddle在进行计算的时候为了提升计算性能,使用了avx指令。部分老的cpu型号无法支持这样的指令。通常来说执行下grep avx /proc/cpuinfo看看是否有输出即可知道是否支持。(另:用此方法部分虚拟机可能检测到支持avx指令但是实际运行会挂掉,请当成是不支持,看下面的解决方案) + +解决办法是\: + +* 使用 NO_AVX的 `安装包 <../build_and_install/index.html>`_ 或者 `Docker image <../build_and_install/install/docker_install.html>`_ +* 或者,使用 :code:`-DWITH_AVX=OFF` 重新编译PaddlePaddle。 + + +4. 如何选择SGD算法的学习率 +-------------------------- + +在采用sgd/async_sgd进行训练时,一个重要的问题是选择正确的learning_rate。如果learning_rate太大,那么训练有可能不收敛,如果learning_rate太小,那么收敛可能很慢,导致训练时间过长。 + +通常做法是从一个比较大的learning_rate开始试,如果不收敛,那减少学习率10倍继续试验,直到训练收敛为止。那么如何判断训练不收敛呢?可以估计出如果模型采用不变的输出最小的cost0是多少。 + +如果训练过程的的cost明显高于这个常数输出的cost,那么我们可以判断为训练不收敛。举一个例子,假如我们是三分类问题,采用multi-class-cross-entropy作为cost,数据中0,1,2三类的比例为 :code:`0.2, 0.5, 0.3` , 那么常数输出所能达到的最小cost是 :code:`-(0.2*log(0.2)+0.5*log(0.5)+0.3*log(0.3))=1.03` 。如果训练一个pass(或者更早)后,cost还大于这个数,那么可以认为训练不收敛,应该降低学习率。 + + +5. 如何初始化参数 +----------------- + +默认情况下,PaddlePaddle使用均值0,标准差为 :math:`\frac{1}{\sqrt{d}}` 来初始化参数。其中 :math:`d` 为参数矩阵的宽度。这种初始化方式在一般情况下不会产生很差的结果。如果用户想要自定义初始化方式,PaddlePaddle目前提供两种参数初始化的方式\: + +* 高斯分布。将 :code:`param_attr` 设置成 :code:`param_attr=ParamAttr(initial_mean=0.0, initial_std=1.0)` +* 均匀分布。将 :code:`param_attr` 设置成 :code:`param_attr=ParamAttr(initial_max=1.0, initial_min=-1.0)` + +比如设置一个全连接层的参数初始化方式和bias初始化方式,可以使用如下代码。 + +.. code-block:: python + + hidden = fc_layer(input=ipt, param_attr=ParamAttr(initial_max=1.0, initial_min=-1.0), + bias_attr=ParamAttr(initial_mean=1.0, initial_std=0.0)) + +上述代码将bias全部初始化为1.0, 同时将参数初始化为 :code:`[1.0, -1.0]` 的均匀分布。 + +6. 如何共享参数 +--------------- + +PaddlePaddle的参数使用名字 :code:`name` 作为参数的ID,相同名字的参数,会共享参数。设置参数的名字,可以使用 :code:`ParamAttr(name="YOUR_PARAM_NAME")` 来设置。更方便的设置方式,是想要共享的参数使用同样的 :code:`ParamAttr` 对象。 + +简单的全连接网络,参数共享的配置示例为\: + +.. literalinclude:: ../../python/paddle/trainer_config_helpers/tests/configs/shared_fc.py + +这里 :code:`hidden_a` 和 :code:`hidden_b` 使用了同样的parameter和bias。并且softmax层的两个输入也使用了同样的参数 :code:`softmax_param`。 + + diff --git a/doc_cn/_sources/index.txt b/doc_cn/_sources/index.txt index 6cf5588b5b..d2d50fbdb4 100644 --- a/doc_cn/_sources/index.txt +++ b/doc_cn/_sources/index.txt @@ -3,6 +3,7 @@ PaddlePaddle文档 使用指南 -------- + * `快速入门 `_ * `编译与安装 `_ * `用户接口 `_ @@ -16,4 +17,13 @@ PaddlePaddle文档 算法教程 -------- -* `RNN配置 <../doc/algorithm/rnn/rnn.html>`_ + +* `Recurrent Group教程 `_ +* `单层RNN示例 <../doc/algorithm/rnn/rnn.html>`_ +* `双层RNN示例 `_ +* `支持双层序列作为输入的Layer `_ + +常见问题 +-------- + +* `常见问题 `_ diff --git a/doc_cn/algorithm/rnn/hierarchical-layer.html b/doc_cn/algorithm/rnn/hierarchical-layer.html new file mode 100644 index 0000000000..1799f0a800 --- /dev/null +++ b/doc_cn/algorithm/rnn/hierarchical-layer.html @@ -0,0 +1,196 @@ + + + + + + + + + + 支持双层序列作为输入的Layer — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + +
      +
      +
      +
      + +
      +

      支持双层序列作为输入的Layer

      +
      +

      概述

      +

      在自然语言处理任务中,序列是一种常见的数据类型。一个独立的词语,可以看作是一个非序列输入,或者,我们称之为一个0层的序列;由词语构成的句子,是一个单层序列;若干个句子构成一个段落,是一个双层的序列。

      +

      双层序列是一个嵌套的序列,它的每一个元素,又是一个单层的序列。这是一种非常灵活的数据组织方式,帮助我们构造一些复杂的输入信息。

      +

      我们可以按照如下层次定义非序列,单层序列,以及双层序列。

      +
        +
      • 0层序列:一个独立的元素,类型可以是PaddlePaddle支持的任意输入数据类型
      • +
      • 单层序列:排成一列的多个元素,每个元素是一个0层序列,元素之间的顺序是重要的输入信息
      • +
      • 双层序列:排成一列的多个元素,每个元素是一个单层序列,称之为双层序列的一个子序列(subseq),subseq的每个元素是一个0层序列
      • +
      +

      在 PaddlePaddle中,下面这些Layer能够接受双层序列作为输入,完成相应的计算。

      +
      +
      +

      pooling_layer

      +

      pooling_layer的使用示例如下,详细见配置API

      +
      seq_pool = pooling_layer(input=layer,
      +                         pooling_type=AvgPooling(),
      +                         agg_level=AggregateLevel.EACH_SEQUENCE)
      +
      +
      +
        +
      • pooling_type 目前支持两种,分别是:MaxPooling()和AvgPooling()。
      • +
      • agg_level=AggregateLevel.TIMESTEP时(默认值):
          +
        • 作用:双层序列经过运算变成一个0层序列,或单层序列经过运算变成一个0层序列
        • +
        • 输入:一个双层序列,或一个单层序列
        • +
        • 输出:一个0层序列,即整个输入序列(单层或双层)的平均值(或最大值)
        • +
        +
      • +
      • agg_level=AggregateLevel.EACH_SEQUENCE时:
          +
        • 作用:一个双层序列经过运算变成一个单层序列
        • +
        • 输入:必须是一个双层序列
        • +
        • 输出:一个单层序列,序列的每个元素是原来双层序列每个subseq元素的平均值(或最大值)
        • +
        +
      • +
      +
      +
      +

      last_seq 和 first_seq

      +

      last_seq的使用示例如下(first_seq类似),详细见配置API

      +
      last = last_seq(input=layer,
      +                agg_level=AggregateLevel.EACH_SEQUENCE)
      +
      +
      +
        +
      • agg_level=AggregateLevel.TIMESTEP时(默认值):
          +
        • 作用:一个双层序列经过运算变成一个0层序列,或一个单层序列经过运算变成一个0层序列
        • +
        • 输入:一个双层序列或一个单层序列
        • +
        • 输出:一个0层序列,即整个输入序列(双层或者单层)最后一个,或第一个元素。
        • +
        +
      • +
      • agg_level=AggregateLevel.EACH_SEQUENCE时:
          +
        • 作用:一个双层序列经过运算变成一个单层序列
        • +
        • 输入:必须是一个双层序列
        • +
        • 输出:一个单层序列,其中每个元素是双层序列中每个subseq最后一个(或第一个)元素。
        • +
        +
      • +
      +
      +
      +

      expand_layer

      +

      expand_layer的使用示例如下,详细见配置API

      +
      expand = expand_layer(input=layer1,
      +                      expand_as=layer2,
      +                      expand_level=ExpandLevel.FROM_TIMESTEP)
      +
      +
      +
        +
      • expand_level=ExpandLevel.FROM_TIMESTEP时(默认值):
          +
        • 作用:一个0层序列经过运算扩展成一个单层序列,或者一个双层序列
        • +
        • 输入:layer1必须是一个0层序列,是待扩展的数据;layer2可以是一个单层序列,或者是一个双层序列,提供扩展的长度信息
        • +
        • 输出:一个单层序列,或一个双层序列,输出序列的类型(双层序列,或单层序列)和序列中含有元素的数目同 layer2一致。若输出是单层序列,单层序列的每个元素(0层序列),都是对layer1元素的拷贝;若输出是双层序列,双层序列每个subseq中每个元素(0层序列),都是对layer1元素的拷贝
        • +
        +
      • +
      • expand_level=ExpandLevel.FROM_SEQUENCE时:
          +
        • 作用:一个单层序列经过运算扩展成一个双层序列
        • +
        • 输入:layer1必须是一个单层序列,是待扩展的数据;layer2必须是一个双层序列,提供扩展的长度信息
        • +
        • 输出:一个双层序列,序列中含有元素的数目同layer2一致。要求单层序列含有元素的数目(0层序列),和双层序列含有subseq 的数目一致。单层序列第i个元素(0层序列),被扩展为一个单层序列,构成了输出双层序列的第i个subseq。
        • +
        +
      • +
      +
      +
      + + +
      +
      +
      + +
      +
      + + + + \ No newline at end of file diff --git a/doc_cn/algorithm/rnn/hierarchical-rnn.html b/doc_cn/algorithm/rnn/hierarchical-rnn.html new file mode 100644 index 0000000000..2bf7294fd6 --- /dev/null +++ b/doc_cn/algorithm/rnn/hierarchical-rnn.html @@ -0,0 +1,404 @@ + + + + + + + + + + 双层RNN配置与示例 — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + +
      +
      +
      +
      + +
      +

      双层RNN配置与示例

      +

      我们在paddle/gserver/tests/test_RecurrentGradientMachine单测中,通过多组语义相同的单双层RNN配置,讲解如何使用双层RNN。

      +
      +

      示例1:双进双出,subseq间无memory

      +

      配置:单层RNN(sequence_layer_group)和双层RNN(sequence_nest_layer_group),语义完全相同。

      +
      +

      读取双层序列的方法

      +

      首先,我们看一下单双层序列的不同数据组织形式(您也可以采用别的组织形式):

      +
        +
      • 单层序列的数据(Sequence/tour_train_wdseg)如下,一共有10个样本。每个样本由两部分组成,一个label(此处都为2)和一个已经分词后的句子。
      • +
      +
      2   酒店 有 很 舒适 的 床垫 子 , 床上用品 也 应该 是 一人 一 换 , 感觉 很 利落 对 卫生 很 放心 呀 。
      +2   很 温馨 , 也 挺 干净 的 * 地段 不错 , 出来 就 有 全家 , 离 地铁站 也 近 , 交通 很方便 * 就是 都 不 给 刷牙 的 杯子 啊 , 就 第一天 给 了 一次性杯子 *
      +2   位置 方便 , 强烈推荐 , 十一 出去玩 的 时候 选 的 , 对面 就是 华润万家 , 周围 吃饭 的 也 不少 。
      +2   交通便利 , 吃 很 便利 , 乾 浄 、 安静 , 商务 房 有 电脑 、 上网 快 , 价格 可以 , 就 早餐 不 好吃 。 整体 是 不错 的 。 適 合 出差 來 住 。
      +2   本来 准备 住 两 晚 , 第 2 天 一早 居然 停电 , 且 无 通知 , 只有 口头 道歉 。 总体来说 性价比 尚可 , 房间 较 新 , 还是 推荐 .
      +2   这个 酒店 去过 很多 次 了 , 选择 的 主要原因 是 离 客户 最 便宜 相对 又 近 的 酒店
      +2   挺好 的 汉庭 , 前台 服务 很 热情 , 卫生 很 整洁 , 房间 安静 , 水温 适中 , 挺好 !
      +2   HowardJohnson 的 品质 , 服务 相当 好 的 一 家 五星级 。 房间 不错 、 泳池 不错 、 楼层 安排 很 合理 。 还有 就是 地理位置 , 简直 一 流 。 就 在 天一阁 、 月湖 旁边 , 离 天一广场 也 不远 。 下次 来 宁波 还会 住 。
      +2   酒店 很干净 , 很安静 , 很 温馨 , 服务员 服务 好 , 各方面 都 不错 *
      +2   挺好 的 , 就是 没 窗户 , 不过 对 得 起 这 价格
      +
      +
      +
        +
      • 双层序列的数据(Sequence/tour_train_wdseg.nest)如下,一共有4个样本。样本间用空行分开,代表不同的双层序列,序列数据和上面的完全一样。每个样本的子句数分别为2,3,2,3。
      • +
      +
      2   酒店 有 很 舒适 的 床垫 子 , 床上用品 也 应该 是 一人 一 换 , 感觉 很 利落 对 卫生 很 放心 呀 。
      +2   很 温馨 , 也 挺 干净 的 * 地段 不错 , 出来 就 有 全家 , 离 地铁站 也 近 , 交通 很方便 * 就是 都 不 给 刷牙 的 杯子 啊 , 就 第一天 给 了 一次性杯子 *
      +
      +2   位置 方便 , 强烈推荐 , 十一 出去玩 的 时候 选 的 , 对面 就是 华润万家 , 周围 吃饭 的 也 不少 。
      +2   交通便利 , 吃 很 便利 , 乾 浄 、 安静 , 商务 房 有 电脑 、 上网 快 , 价格 可以 , 就 早餐 不 好吃 。 整体 是 不错 的 。 適 合 出差 來 住 。
      +2   本来 准备 住 两 晚 , 第 2 天 一早 居然 停电 , 且 无 通知 , 只有 口头 道歉 。 总体来说 性价比 尚可 , 房间 较 新 , 还是 推荐 .
      +
      +2   这个 酒店 去过 很多 次 了 , 选择 的 主要原因 是 离 客户 最 便宜 相对 又 近 的 酒店
      +2   挺好 的 汉庭 , 前台 服务 很 热情 , 卫生 很 整洁 , 房间 安静 , 水温 适中 , 挺好 !
      +
      +2   HowardJohnson 的 品质 , 服务 相当 好 的 一 家 五星级 。 房间 不错 、 泳池 不错 、 楼层 安排 很 合理 。 还有 就是 地理位置 , 简直 一 流 。 就 在 天一阁 、 月湖 旁边 , 离 天一广场 也 不远 。 下次 来 宁波 还会 住 。
      +2   酒店 很干净 , 很安静 , 很 温馨 , 服务员 服务 好 , 各方面 都 不错 *
      +2   挺好 的 , 就是 没 窗户 , 不过 对 得 起 这 价格
      +
      +
      +

      其次,我们看一下单双层序列的不同dataprovider(见sequenceGen.py):

      +
        +
      • 单层序列的dataprovider如下:
          +
        • word_slot是integer_value_sequence类型,代表单层序列。
        • +
        • label是integer_value类型,代表一个向量。
        • +
        +
      • +
      +
      def hook(settings, dict_file, **kwargs):
      +    settings.word_dict = dict_file
      +    settings.input_types = [integer_value_sequence(len(settings.word_dict)), 
      +                            integer_value(3)]
      +
      +@provider(init_hook=hook)
      +def process(settings, file_name):
      +    with open(file_name, 'r') as fdata:
      +        for line in fdata:
      +            label, comment = line.strip().split('\t')
      +            label = int(''.join(label.split()))
      +            words = comment.split()
      +            word_slot = [settings.word_dict[w] for w in words if w in settings.word_dict]
      +            yield word_slot, label
      +
      +
      +
        +
      • 双层序列的dataprovider如下:
          +
        • word_slot是integer_value_sub_sequence类型,代表双层序列。
        • +
        • label是integer_value_sequence类型,代表单层序列,即一个子句一个label。注意:也可以为integer_value类型,代表一个向量,即一个句子一个label。通常根据任务需求进行不同设置。
        • +
        • 关于dataprovider中input_types的详细用法,参见PyDataProvider2。
        • +
        +
      • +
      +
      def hook2(settings, dict_file, **kwargs):
      +    settings.word_dict = dict_file
      +    settings.input_types = [integer_value_sub_sequence(len(settings.word_dict)),
      +                            integer_value_sequence(3)]
      +
      +@provider(init_hook=hook2)
      +def process2(settings, file_name):
      +    with open(file_name) as fdata:
      +        label_list = []
      +        word_slot_list = []
      +        for line in fdata:
      +            if (len(line)) > 1:
      +                label,comment = line.strip().split('\t')
      +                label = int(''.join(label.split()))
      +                words = comment.split()
      +                word_slot = [settings.word_dict[w] for w in words if w in settings.word_dict]
      +                label_list.append(label)
      +                word_slot_list.append(word_slot)
      +            else:
      +                yield word_slot_list, label_list
      +                label_list = []
      +                word_slot_list = []
      +
      +
      +
      +
      +

      模型中的配置

      +

      首先,我们看一下单层序列的配置(见sequence_layer_group.conf)。注意:batchsize=5表示一次过5句单层序列,因此2个batch就可以完成1个pass。

      +
      settings(batch_size=5)
      +
      +data = data_layer(name="word", size=dict_dim)
      +
      +emb = embedding_layer(input=data, size=word_dim)
      +
      +# (lstm_input + lstm) is equal to lstmemory 
      +with mixed_layer(size=hidden_dim*4) as lstm_input:
      +    lstm_input += full_matrix_projection(input=emb)
      +
      +lstm = lstmemory_group(input=lstm_input,
      +                       size=hidden_dim,
      +                       act=TanhActivation(),
      +                       gate_act=SigmoidActivation(),
      +                       state_act=TanhActivation(),
      +                       lstm_layer_attr=ExtraLayerAttribute(error_clipping_threshold=50))
      +
      +lstm_last = last_seq(input=lstm)
      +
      +with mixed_layer(size=label_dim, 
      +                 act=SoftmaxActivation(), 
      +                 bias_attr=True) as output:
      +    output += full_matrix_projection(input=lstm_last)
      +
      +outputs(classification_cost(input=output, label=data_layer(name="label", size=1)))
      +
      +
      +
      +

      其次,我们看一下语义相同的双层序列配置(见sequence_nest_layer_group.conf),并对其详细分析:

      +
        +
      • batchsize=2表示一次过2句双层序列。但从上面的数据格式可知,2句双层序列和5句单层序列的数据完全一样。
      • +
      • data_layer和embedding_layer不关心数据是否是序列格式,因此两个配置在这两层上的输出是一样的。
      • +
      • lstmemory:
          +
        • 单层序列过了一个mixed_layer和lstmemory_group。
        • +
        • 双层序列在同样的mixed_layer和lstmemory_group外,直接加了一层group。由于这个外层group里面没有memory,表示subseq间不存在联系,即起到的作用仅仅是把双层seq拆成单层,因此双层序列过完lstmemory的输出和单层的一样。
        • +
        +
      • +
      • last_seq:
          +
        • 单层序列直接取了最后一个元素
        • +
        • 双层序列首先(last_seq层)取了每个subseq的最后一个元素,将其拼接成一个新的单层序列;接着(expand_layer层)将其扩展成一个新的双层序列,其中第i个subseq中的所有向量均为输入的单层序列中的第i个向量;最后(average_layer层)取了每个subseq的平均值。
        • +
        • 分析得出:第一个last_seq后,每个subseq的最后一个元素就等于单层序列的最后一个元素,而expand_layer和average_layer后,依然保持每个subseq最后一个元素的值不变(这两层仅是为了展示它们的用法,实际中并不需要)。因此单双层序列的输出是一样旳。
        • +
        +
      • +
      +
      settings(batch_size=2)
      +
      +data = data_layer(name="word", size=dict_dim)
      +
      +emb_group = embedding_layer(input=data, size=word_dim)
      +
      +# (lstm_input + lstm) is equal to lstmemory 
      +def lstm_group(lstm_group_input):
      +    with mixed_layer(size=hidden_dim*4) as group_input:
      +      group_input += full_matrix_projection(input=lstm_group_input)
      +
      +    lstm_output = lstmemory_group(input=group_input,
      +                                  name="lstm_group",
      +                                  size=hidden_dim,
      +                                  act=TanhActivation(),
      +                                  gate_act=SigmoidActivation(),
      +                                  state_act=TanhActivation(),
      +                                  lstm_layer_attr=ExtraLayerAttribute(error_clipping_threshold=50))
      +    return lstm_output
      +
      +lstm_nest_group = recurrent_group(input=SubsequenceInput(emb_group),
      +                                  step=lstm_group,
      +                                  name="lstm_nest_group")
      +# hasSubseq ->(seqlastins) seq
      +lstm_last = last_seq(input=lstm_nest_group, agg_level=AggregateLevel.EACH_SEQUENCE)
      +
      +# seq ->(expand) hasSubseq
      +lstm_expand = expand_layer(input=lstm_last, expand_as=emb_group, expand_level=ExpandLevel.FROM_SEQUENCE)
      +
      +# hasSubseq ->(average) seq
      +lstm_average = pooling_layer(input=lstm_expand,
      +                             pooling_type=AvgPooling(),
      +                             agg_level=AggregateLevel.EACH_SEQUENCE)
      +
      +with mixed_layer(size=label_dim, 
      +                 act=SoftmaxActivation(), 
      +                 bias_attr=True) as output:
      +    output += full_matrix_projection(input=lstm_average)
      +
      +outputs(classification_cost(input=output, label=data_layer(name="label", size=1)))
      +
      +
      +
      +
      +
      +

      示例2:双进双出,subseq间有memory

      +

      配置:单层RNN(sequence_rnn.conf),双层RNN(sequence_nest_rnn.confsequence_nest_rnn_readonly_memory.conf),语义完全相同。

      +
      +

      读取双层序列的方法

      +

      我们看一下单双层序列的不同数据组织形式和dataprovider(见rnn_data_provider.py

      +
      data = [
      +    [[[1, 3, 2], [4, 5, 2]], 0],
      +    [[[0, 2], [2, 5], [0, 1, 2]], 1],
      +]
      +
      +@provider(input_types=[integer_value_sub_sequence(10),
      +                       integer_value(3)])
      +def process_subseq(settings, file_name):
      +    for d in data:
      +        yield d
      +
      +@provider(input_types=[integer_value_sequence(10),
      +                       integer_value(3)])
      +def process_seq(settings, file_name):
      +    for d in data:
      +        seq = []
      +
      +
      +
        +
      • 单层序列:有两句,分别为[1,3,2,4,5,2]和[0,2,2,5,0,1,2]。
      • +
      • 双层序列:有两句,分别为[[1,3,2],[4,5,2]](2个子句)和[[0,2],[2,5],[0,1,2]](3个子句)。
      • +
      • 单双层序列的label都分别是0和1
      • +
      +
      +
      +

      模型中的配置

      +

      我们选取单双层序列配置中的不同部分,来对比分析两者语义相同的原因。

      +
        +
      • 单层序列:过了一个很简单的recurrent_group。每一个时间步,当前的输入y和上一个时间步的输出rnn_state做了一个全链接。
      • +
      +
      def step(y):
      +    mem = memory(name="rnn_state", size=hidden_dim)
      +    return fc_layer(input=[y, mem],
      +                    size=hidden_dim,
      +                    act=TanhActivation(),
      +                    bias_attr=True,
      +                    name="rnn_state")
      +
      +out = recurrent_group(step=step, input=emb)
      +
      +
      +
        +
      • 双层序列,外层memory是一个元素:
          +
        • 内层inner_step的recurrent_group和单层序列的几乎一样。除了boot_layer=outer_mem,表示将外层的outer_mem作为内层memory的初始状态。外层outer_step中,outer_mem是一个子句的最后一个向量,即整个双层group是将前一个子句的最后一个向量,作为下一个子句memory的初始状态。
        • +
        • 从输入数据上看,单双层序列的句子是一样的,只是双层序列将其又做了子序列划分。因此双层序列的配置中,必须将前一个子句的最后一个元素,作为boot_layer传给下一个子句的memory,才能保证和单层序列的配置中“每一个时间步都用了上一个时间步的输出结果”一致。
        • +
        +
      • +
      +
      def outer_step(x):
      +    outer_mem = memory(name="outer_rnn_state", size=hidden_dim)
      +    def inner_step(y):
      +        inner_mem = memory(name="inner_rnn_state",
      +                           size=hidden_dim,
      +                           boot_layer=outer_mem)
      +        return fc_layer(input=[y, inner_mem],
      +                        size=hidden_dim,
      +                        act=TanhActivation(),
      +                        bias_attr=True,
      +                        name="inner_rnn_state")
      +
      +    inner_rnn_output = recurrent_group(
      +        step=inner_step,
      +        input=x)
      +    last = last_seq(input=inner_rnn_output, name="outer_rnn_state")
      +
      +    return inner_rnn_output
      +
      +out = recurrent_group(step=outer_step, input=SubsequenceInput(emb))
      +
      +
      +
        +
      • 双层序列,外层memory是单层序列:
          +
        • 由于外层每个时间步返回的是一个子句,这些子句的长度往往不等长。因此当外层有is_seq=True的memory时,内层是无法直接使用它的,即内层memory的boot_layer不能链接外层的这个memory。
        • +
        • 如果内层memory想间接使用这个外层memory,只能通过pooling_layerlast_seqfirst_seq这三个layer将它先变成一个元素。但这种情况下,外层memory必须有boot_layer,否则在第0个时间步时,由于外层memory没有任何seq信息,因此上述三个layer的前向会报出“Check failed: input.sequenceStartPositions”的错误。
        • +
        +
      • +
      +
      +
      +
      +

      示例3:双进双出,输入不等长

      +

      TBD

      +
      + +
      + + +
      +
      +
      + +
      +
      + + + + \ No newline at end of file diff --git a/doc_cn/algorithm/rnn/rnn-tutorial.html b/doc_cn/algorithm/rnn/rnn-tutorial.html new file mode 100644 index 0000000000..ed86662ecc --- /dev/null +++ b/doc_cn/algorithm/rnn/rnn-tutorial.html @@ -0,0 +1,222 @@ + + + + + + + + + + Recurrent Group教程 — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + +
      +
      +
      +
      + +
      +

      Recurrent Group教程

      +
      +

      概述

      +

      序列数据是自然语言处理任务面对的一种主要输入数据类型。

      +

      一句话是由词语构成的序列,多句话进一步构成了段落。因此,段落可以看作是一个嵌套的双层的序列,这个序列的每个元素又是一个序列。

      +

      双层序列是PaddlePaddle支持的一种非常灵活的数据组织方式,帮助我们更好地描述段落、多轮对话等更为复杂的语言数据。基于双层序列输入,我们可以设计搭建一个灵活的、层次化的RNN,分别从词语和句子级别编码输入数据,同时也能够引入更加复杂的记忆机制,更好地完成一些复杂的语言理解任务。

      +

      在PaddlePaddle中,recurrent_group是一种任意复杂的RNN单元,用户只需定义RNN在一个时间步内完成的计算,PaddlePaddle负责完成信息和误差在时间序列上的传播。

      +

      更进一步,recurrent_group同样可以扩展到双层序列的处理上。通过两个嵌套的recurrent_group分别定义子句级别和词语级别上需要完成的运算,最终实现一个层次化的复杂RNN。

      +

      目前,在PaddlePaddle中,能够对双向序列进行处理的有recurrent_group和部分Layer,具体可参考文档:支持双层序列作为输入的Layer

      +
      +
      +

      相关概念

      +
      +

      基本原理

      +

      recurrent_group 是PaddlePaddle支持的一种任意复杂的RNN单元。使用者只需要关注于设计RNN在一个时间步之内完成的计算,PaddlePaddle负责完成信息和梯度在时间序列上的传播。

      +

      PaddlePaddle中,recurrent_group的一个简单调用如下:

      +
      recurrent_group(step, input, reverse)
      +
      +
      +
        +
      • step:一个可调用的函数,定义一个时间步之内RNN单元完成的计算
      • +
      • input:输入,必须是一个单层序列,或者一个双层序列
      • +
      • reverse:是否以逆序处理输入序列
      • +
      +

      使用recurrent_group的核心是设计step函数的计算逻辑。step函数内部可以自由组合PaddlePaddle支持的各种layer,完成任意的运算逻辑。recurrent_group 的输入(即input)会成为step函数的输入,由于step 函数只关注于RNN一个时间步之内的计算,在这里recurrent_group替我们完成了原始输入数据的拆分。

      +
      +
      +

      输入

      +

      recurrent_group处理的输入序列主要分为以下三种类型:

      +
        +
      • 数据输入:一个双层序列进入recurrent_group会被拆解为一个单层序列,一个单层序列进入recurrent_group会被拆解为非序列,然后交给step函数,这一过程对用户是完全透明的。可以有以下两种:1)通过data_layer拿到的用户输入;2)其它layer的输出。
      • +
      • 只读Memory输入StaticInput 定义了一个只读的Memory,由StaticInput指定的输入不会被recurrent_group拆解,recurrent_group 循环展开的每个时间步总是能够引用所有输入,可以是一个非序列,或者一个单层序列。
      • +
      • 序列生成任务的输入GeneratedInput只用于在序列生成任务中指定输入数据。
      • +
      +
      +
      +

      输入示例

      +

      序列生成任务大多遵循encoder-decoer架构,encoder和decoder可以是能够处理序列的任意神经网络单元,而RNN是最流行的选择。

      +

      给定encoder输出和当前词,decoder每次预测产生下一个最可能的词语。在这种结构中,decoder接受两个输入:

      +
        +
      • 要生成的目标序列:是decoder的数据输入,也是decoder循环展开的依据,recurrent_group会对这类输入进行拆解。
      • +
      • encoder输出,可以是一个非序列,或者一个单层序列:是一个unbounded memory,decoder循环展开的每一个时间步会引用全部结果,不应该被拆解,这种类型的输入必须通过StaticInput指定。关于Unbounded Memory的更多讨论请参考论文 Neural Turning Machine
      • +
      +

      在序列生成任务中,decoder RNN总是引用上一时刻预测出的词的词向量,作为当前时刻输入。GeneratedInput自动完成这一过程。

      +
      +
      +

      输出

      +

      step函数必须返回一个或多个Layer的输出,这个Layer的输出会作为整个recurrent_group 最终的输出结果。在输出的过程中,recurrent_group 会将每个时间步的输出拼接,这个过程对用户也是透明的。

      +
      +
      +

      memory

      +

      memory只能在recurrent_group中定义和使用。memory不能独立存在,必须指向一个PaddlePaddle定义的Layer。引用memory得到这layer上一时刻输出,因此,可以将memory理解为一个时延操作。

      +

      可以显示地指定一个layer的输出用于初始化memory。不指定时,memory默认初始化为0。

      +
      +
      +
      +

      双层RNN介绍

      +

      recurrent_group帮助我们完成对输入序列的拆分,对输出的合并,以及计算逻辑在序列上的循环展开。

      +

      利用这种特性,两个嵌套的recurrent_group能够处理双层序列,实现词语和句子两个级别的双层RNN结构。

      +
        +
      • 单层(word-level)RNN:每个状态(state)对应一个词(word)。
      • +
      • 双层(sequence-level)RNN:一个双层RNN由多个单层RNN组成,每个单层RNN(即双层RNN的每个状态)对应一个子句(subseq)。
      • +
      +

      为了描述方便,下文以NLP任务为例,将含有子句(subseq)的段落定义为一个双层序列,将含有词语的句子定义为一个单层序列,那么0层序列即为一个词语。

      +
      +
      +

      双层RNN的使用

      +
      +

      训练流程的使用方法

      +

      使用 recurrent_group需要遵循以下约定:

      +
        +
      • 单进单出:输入和输出都是单层序列。
          +
        • 如果有多个输入,不同输入序列含有的词语数必须严格相等。
        • +
        • 输出一个单层序列,输出序列的词语数和输入序列一致。
        • +
        • memory:在step函数中定义 memory指向一个layer,通过引用memory得到这个layer上一个时刻输出,形成recurrent 连接。memory的is_seq参数必须为false。如果没有定义memory,每个时间步之内的运算是独立的。
        • +
        • boot_layer:memory的初始状态,默认初始状为0,memory的is_seq参数必须为false。
        • +
        +
      • +
      • 双进双出:输入和输出都是双层序列。
          +
        • 如果有多个输入序列,不同输入含有的子句(subseq)数必须严格相等,但子句含有的词语数可以不相等。
        • +
        • 输出一个双层序列,子句(subseq)数、子句的单词数和指定的一个输入序列一致,默认为第一个输入。
        • +
        • memory:在step函数中定义memory,指向一个layer,通过引用memory得到这个layer上一个时刻的输出,形成recurrent连接。定义在外层recurrent_group step函数中的memory,能够记录上一个subseq 的状态,可以是一个单层序列(只作为read-only memory),也可以是一个词语。如果没有定义memory,那么 subseq 之间的运算是独立的。
        • +
        • boot_layer:memory 初始状态,可以是一个单层序列(只作为read-only memory)或一个向量。默认不设置,即初始状态为0。
        • +
        +
      • +
      • 双进单出:目前还未支持,会报错”In hierachical RNN, all out links should be from sequences now”。
      • +
      +
      +
      +

      生成流程的使用方法

      +

      使用beam_search需要遵循以下约定:

      +
        +
      • 单层RNN:从一个word生成下一个word。
      • +
      • 双层RNN:即把单层RNN生成后的subseq给拼接成一个新的双层seq。从语义上看,也不存在一个subseq直接生成下一个subseq的情况。
      • +
      +
      +
      +
      + + +
      +
      +
      + +
      +
      + + + + \ No newline at end of file diff --git a/doc_cn/faq/index.html b/doc_cn/faq/index.html new file mode 100644 index 0000000000..6b05ec70af --- /dev/null +++ b/doc_cn/faq/index.html @@ -0,0 +1,329 @@ + + + + + + + + + + PaddlePaddle常见问题 — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + +
      +
      +
      +
      + +
      +

      PaddlePaddle常见问题

      + +
      +

      1. 如何减少PaddlePaddle的内存占用

      +

      神经网络的训练本身是一个非常消耗内存和显存的工作。经常会消耗数十G的内存和数G的显存。 +PaddlePaddle的内存占用主要分为如下几个方面:

      +
        +
      • DataProvider缓冲池内存 (只针对内存)
      • +
      • 神经元激活内存 (针对内存和显存)
      • +
      • 参数内存 (针对内存和显存)
      • +
      • 其他内存杂项
      • +
      +

      这其中,其他内存杂项是指PaddlePaddle本身所用的一些内存,包括字符串分配,临时变量等等, +这些内存就不考虑如何缩减了。

      +

      其他的内存的减少方法依次为

      +
      +

      减少DataProvider缓冲池内存

      +

      PyDataProvider使用的是异步加载,同时在内存里直接随即选取数据来做Shuffle。即

      +digraph {
+    rankdir=LR;
+    数据文件 -> 内存池 -> PaddlePaddle训练
+} +

      所以,减小这个内存池即可减小内存占用,同时也可以加速开始训练前数据载入的过程。但是,这 +个内存池实际上决定了shuffle的粒度。所以,如果将这个内存池减小,又要保证数据是随机的, +那么最好将数据文件在每次读取之前做一次shuffle。可能的代码为

      +
      @provider(min_pool_size=0, ...)
      +def process(settings, filename):
      +    os.system('shuf %s > %s.shuf' % (filename, filename))  # shuffle before.
      +    with open('%s.shuf' % filename, 'r') as f:
      +        for line in f:
      +            yield get_sample_from_line(line)
      +
      +
      +

      这样做可以极大的减少内存占用,并且可能会加速训练过程。 详细文档参考 这里

      +
      +
      +

      神经元激活内存

      +

      神经网络在训练的时候,会对每一个激活暂存一些数据,包括激活,參差等等。 +在反向传递的时候,这些数据会被用来更新参数。这些数据使用的内存主要和两个参数有关系, +一是batch size,另一个是每条序列(Sequence)长度。所以,其实也是和每个mini-batch中包含 +的时间步信息成正比。

      +

      所以,做法可以有两种。他们是

      +
        +
      • 减小batch size。 即在网络配置中 settings(batch_size=1000) 设置成一个小一些的值。但是batch size本身是神经网络的超参数,减小batch size可能会对训练结果产生影响。
      • +
      • 减小序列的长度,或者直接扔掉非常长的序列。比如,一个数据集大部分序列长度是100-200, +但是突然有一个10000长的序列,就很容易导致内存超限。特别是在LSTM等RNN中。
      • +
      +
      +
      +

      参数内存

      +

      PaddlePaddle支持非常多的优化算法(Optimizer),不同的优化算法需要使用不同大小的内存。 +例如如果使用 adadelta 算法,则需要使用参数规模大约5倍的内存。 如果参数保存下来的 +文件为 100M, 那么该优化算法至少需要 500M 的内存。

      +

      可以考虑使用一些优化算法,例如 momentum

      +
      +
      +
      +

      2. 如何加速PaddlePaddle的训练速度

      +

      PaddlePaddle是神经网络训练平台,加速PaddlePaddle训练有如下几个方面:

      +
        +
      • 减少数据载入的耗时
      • +
      • 加速训练速度
      • +
      • 利用更多的计算资源
      • +
      +
      +

      减少数据载入的耗时

      +

      使用 pydataprovider`时,可以减少缓存池的大小,同时设置内存缓存功能,即可以极大的加速数据载入流程。 +:code:`DataProvider 缓存池的减小,和之前减小通过减小缓存池来减小内存占用的原理一致。

      +
      @provider(min_pool_size=0, ...)
      +def process(settings, filename):
      +    os.system('shuf %s > %s.shuf' % (filename, filename))  # shuffle before.
      +    with open('%s.shuf' % filename, 'r') as f:
      +        for line in f:
      +            yield get_sample_from_line(line)
      +
      +
      +

      同时 @provider 接口有一个 cache 参数来控制缓存方法,将其设置成 CacheType.CACHE_PASS_IN_MEM 的话,会将第一个 pass (过完所有训练数据即为一个pass)生成的数据缓存在内存里,在之后的 pass 中,不会再从 python 端读取数据,而是直接从内存的缓存里读取数据。这也会极大减少数据读入的耗时。

      +
      +
      +

      加速训练速度

      +

      PaddlePaddle支持Sparse的训练,sparse训练需要训练特征是 sparse_binary_vectorsparse_vector 、或者 integer_value 的任一一种。同时,与这个训练数据交互的Layer,需要将其Parameter设置成 sparse 更新模式,即设置 sparse_update=True

      +

      这里使用简单的 word2vec 训练语言模型距离,具体使用方法为:

      +

      使用一个词前两个词和后两个词,来预测这个中间的词。这个任务的DataProvider为:

      +
      DICT_DIM=3000
      +@provider(input_types=[integer_sequence(DICT_DIM), integer_value(DICT_DIM)])
      +def process(settings, filename):
      +	with open(filename) as f:
      +		# yield word ids to predict inner word id
      +		# such as [28, 29, 10, 4], 4
      +		# It means the sentance is  28, 29, 4, 10, 4.
      +		yield read_next_from_file(f)
      +
      +
      +

      这个任务的配置为:

      +
      ... # the settings and define data provider is omitted.
      +DICT_DIM=3000  # dictionary dimension.
      +word_ids=data_layer('word_ids', size=DICT_DIM)
      +
      +emb = embedding_layer(input=word_ids, size=256, param_attr=ParamAttr(sparse_update=True))
      +emb_sum = pooling_layer(input=emb, pooling_type=SumPooling())
      +predict = fc_layer(input=emb_sum, size=DICT_DIM, act=Softmax())
      +outputs(classification_cost(input=predict, label=data_layer('label', size=DICT_DIM))) 
      +
      +
      +

      更多关于sparse训练的内容请参考 sparse训练的文档

      +
      +
      +

      利用更多的计算资源

      +

      利用更多的计算资源可以分为一下几个方式来进行:

      +
        +
      • 单机CPU训练 +* 使用多线程训练。设置命令行参数 trainer_count,即可以设置参与训练的线程数量。使用方法为 paddle train --trainer_count=4
      • +
      • 单机GPU训练 +* 使用显卡训练。设置命令行参数 use_gpu。 使用方法为 paddle train --use_gpu=true +* 使用多块显卡训练。设置命令行参数 use_gputrainer_count。使用 --use_gpu=True 开启GPU训练,使用 trainer_count 指定显卡数量。使用方法为 paddle train --use_gpu=true --trainer_count=4
      • +
      • 多机训练 +* 使用多机训练的方法也比较简单,需要先在每个节点启动 paddle pserver,在使用 paddle train --pservers=192.168.100.1,192.168.100.2 来指定每个pserver的ip地址 +* 具体的多机训练方法参考 多机训练 文档。
      • +
      +
      +
      +
      +

      3. 遇到“非法指令”或者是“illegal instruction”

      +

      paddle在进行计算的时候为了提升计算性能,使用了avx指令。部分老的cpu型号无法支持这样的指令。通常来说执行下grep avx /proc/cpuinfo看看是否有输出即可知道是否支持。(另:用此方法部分虚拟机可能检测到支持avx指令但是实际运行会挂掉,请当成是不支持,看下面的解决方案)

      +

      解决办法是:

      +
        +
      • 使用 NO_AVX的 安装包 或者 Docker image
      • +
      • 或者,使用 -DWITH_AVX=OFF 重新编译PaddlePaddle。
      • +
      +
      +
      +

      4. 如何选择SGD算法的学习率

      +

      在采用sgd/async_sgd进行训练时,一个重要的问题是选择正确的learning_rate。如果learning_rate太大,那么训练有可能不收敛,如果learning_rate太小,那么收敛可能很慢,导致训练时间过长。

      +

      通常做法是从一个比较大的learning_rate开始试,如果不收敛,那减少学习率10倍继续试验,直到训练收敛为止。那么如何判断训练不收敛呢?可以估计出如果模型采用不变的输出最小的cost0是多少。

      +

      如果训练过程的的cost明显高于这个常数输出的cost,那么我们可以判断为训练不收敛。举一个例子,假如我们是三分类问题,采用multi-class-cross-entropy作为cost,数据中0,1,2三类的比例为 0.2, 0.5, 0.3 , 那么常数输出所能达到的最小cost是 -(0.2*log(0.2)+0.5*log(0.5)+0.3*log(0.3))=1.03 。如果训练一个pass(或者更早)后,cost还大于这个数,那么可以认为训练不收敛,应该降低学习率。

      +
      +
      +

      5. 如何初始化参数

      +

      默认情况下,PaddlePaddle使用均值0,标准差为 \(\frac{1}{\sqrt{d}}\) 来初始化参数。其中 \(d\) 为参数矩阵的宽度。这种初始化方式在一般情况下不会产生很差的结果。如果用户想要自定义初始化方式,PaddlePaddle目前提供两种参数初始化的方式:

      +
        +
      • 高斯分布。将 param_attr 设置成 param_attr=ParamAttr(initial_mean=0.0, initial_std=1.0)
      • +
      • 均匀分布。将 param_attr 设置成 param_attr=ParamAttr(initial_max=1.0, initial_min=-1.0)
      • +
      +

      比如设置一个全连接层的参数初始化方式和bias初始化方式,可以使用如下代码。

      +
      hidden = fc_layer(input=ipt, param_attr=ParamAttr(initial_max=1.0, initial_min=-1.0),
      +                  bias_attr=ParamAttr(initial_mean=1.0, initial_std=0.0))
      +
      +
      +

      上述代码将bias全部初始化为1.0, 同时将参数初始化为 [1.0, -1.0] 的均匀分布。

      +
      +
      +

      6. 如何共享参数

      +

      PaddlePaddle的参数使用名字 name 作为参数的ID,相同名字的参数,会共享参数。设置参数的名字,可以使用 ParamAttr(name="YOUR_PARAM_NAME") 来设置。更方便的设置方式,是想要共享的参数使用同样的 ParamAttr 对象。

      +

      简单的全连接网络,参数共享的配置示例为:

      +
      from paddle.trainer_config_helpers import *
      +
      +settings(
      +    learning_rate=1e-4,
      +    batch_size=1000
      +)
      +
      +a = data_layer(name='feature_a', size=200)
      +b = data_layer(name='feature_b', size=200)
      +
      +fc_param = ParamAttr(name='fc_param', initial_max=1.0, initial_min=-1.0)
      +bias_param = ParamAttr(name='bias_param', initial_mean=0.0, initial_std=0.0)
      +
      +softmax_param = ParamAttr(name='softmax_param', initial_max=1.0, initial_min=-1.0)
      +
      +hidden_a = fc_layer(input=a, size=200, param_attr=fc_param, bias_attr=bias_param)
      +hidden_b = fc_layer(input=b, size=200, param_attr=fc_param, bias_attr=bias_param)
      +
      +predict = fc_layer(input=[hidden_a, hidden_b], param_attr=[softmax_param, softmax_param],
      +                   bias_attr=False, size=10, act=SoftmaxActivation())
      +
      +outputs(classification_cost(input=predict, label=data_layer(name='label', size=10)))
      +
      +
      +

      这里 hidden_ahidden_b 使用了同样的parameter和bias。并且softmax层的两个输入也使用了同样的参数 softmax_param

      +
      +
      + + +
      +
      +
      + +
      +
      + + + + \ No newline at end of file diff --git a/doc_cn/index.html b/doc_cn/index.html index db944cacf5..768568571c 100644 --- a/doc_cn/index.html +++ b/doc_cn/index.html @@ -78,7 +78,16 @@ var _hmt = _hmt || []; +
      +

      常见问题

      +
  • @@ -95,6 +104,7 @@ var _hmt = _hmt || [];
  • 使用指南
  • 开发指南
  • 算法教程
  • +
  • 常见问题
  • diff --git a/doc_cn/objects.inv b/doc_cn/objects.inv index 7969c18370e0d15b69996dcf3db0c407e6c28fe7..2cfa1bb72d49420b7b628bffcdc4927c1e4e4dd2 100644 GIT binary patch delta 876 zcmV-y1C#vI2HFRZdw*6*Z__{&zUNo?2!{~SBSM@ip-NCiMVzgvJxxaSR(sr%Te^g{ zByA{kfi{4;K~zKvhl(_z>7ViXFBp3qI;rh69O7i&`<6G)vjj*5RY$le=X6EM6%o{d zE)h{{6b=9!i9k2J^ zuAI92E6)OKW{4OGjA%;&)RfvyO-}li4fm>LwKv_9j@7H)vLT-=HZh3+DcyoaQTZt- zn7R%X%stgrQ*(Acy3J~4+C-9=BNDSv&xHe?4tOMk0%Q&DfJUABykd7dc_4}sq)%=< z1aT7qi2CtB5r2847#K)WPLRPY%n7QjAqn!ThLNfmG2go>)Zc6MNbgvG^0wSRyWaVh zUtaeQFHVZa2d)^-Tfa(ze*=Cr9`^Z#lX_Gk;(%uJIKM?jzB3% z;U=3VpoJ~xH3RDNgLiZyfXdJq7sbdXO_^ZC#X3Mrx^$Qx5Dp`E$`WgXTsi5&5nw<% ziY1GS00Umr)p;Z)?dxPjd;t@2BIsd&f)eX97F<8!2@mgpaQRz_~^Y2@{>V{Zz5m9MOE>SR-B7!2h#?Sdw*3;PZL2HzV}z`Q4iS2(HKu$IG8jso+sO#u}s)6cW1%gs(^?E zDn>8@Y7j6D#_EMwsFXjmpZ~(yoozbH%$9oD-Fe^Vk%w-^DK7R#O7*91Jz@|%7U9W0} zx`?WpW!P9pz_JOpOjq!|ox=R%-Y~lA@&3{NYV>z6{32FMlOZNL;7rE!R~xFTcOdrYY59@6r03W)^Y|-_IMXhOOIV_b^!LOsK)D zdnWPzuZALrUrP|xgUz+zu=_NF`2DwHZ52)TTtYXY(AGkN$tDM{qv1*1`xy;ZDi9f# z$QnoaN}`iXf7oV}=N{G;0WH=cC3FG7r1-Lf>mNz$Yk#nIntberyPu+NyV5}BSWZ{# zNKXYvQ6@2;epUq65|eOmJv=(D7#5TW+s&C#f-xUk(4!|5vv85>XbVLKi!tyMmanD9 zn1|`EpogJn*g&()XSl)FCT5w!L(@_SCOUdF5)h`v$MdzhbL9_C;-k%=^D5l^Jz{3t z5n{FBsDFk;fKQj18^~!OKs$nTnZh_*CSYeR2eylxC3?b(8btt;VKF6-(S24j!JJDR z6`SSKS-K#cMQ)X))-Js@%7t@4K{}7g#i2@6U^~_lhO(_GM~DlUic`UGs~2|O`NM-d zbCgueId}a*I~r_>Zgw*rkA|}oeQ#j%3YxsnY+ZVTWQTxgwd`PmfQgm?FEi0mPRZ}< z^|PS2?_X^A{g&T92&&>>RoO22Q diff --git a/doc_cn/searchindex.js b/doc_cn/searchindex.js index 106bae35fd..001f105365 100644 --- a/doc_cn/searchindex.js +++ b/doc_cn/searchindex.js @@ -1 +1 @@ -Search.setIndex({envversion:49,filenames:["build/docker/build_docker_image","build_and_install/cmake/compile_options","build_and_install/cmake/index","build_and_install/cmake/install_deps","build_and_install/cmake/make_and_install","build_and_install/index","build_and_install/install/docker_install","build_and_install/install/ubuntu_install","cluster/index","demo/index","demo/quick_start/index","index","ui/cmd/dump_config","ui/cmd/index","ui/cmd/make_diagram","ui/cmd/merge_model","ui/cmd/paddle_pserver","ui/cmd/paddle_train","ui/cmd/paddle_version","ui/data_provider/index","ui/data_provider/pydataprovider2","ui/data_provider/write_new_dataprovider","ui/index","ui/predict/swig_py_paddle"],objects:{},objnames:{},objtypes:{},terms:{"0000x":10,"000\u5f20\u7070\u5ea6\u56fe\u7247\u7684\u6570\u5b57\u5206\u7c7b\u6570\u636e\u96c6":20,"00186201e":23,"04\u4e2d\u6b63\u786e":7,"08823112e":23,"0b1":7,"10\u4ee5\u4e0a\u7684linux":6,"10\u7ef4\u7684\u6574\u6570\u503c":20,"10gbe":6,"10m":0,"12194102e":23,"12\u7248\u672c\u6d4b\u8bd5\u901a\u8fc7":0,"12\u7248\u672c\u7684\u60c5\u51b5\u4e0b\u5e76\u6ca1\u6709\u6d4b\u8bd5":0,"15501715e":23,"15mb":10,"16mb":10,"1\u7684\u8bdd":20,"252kb":10,"25639710e":23,"25k":10,"27787406e":23,"28\u7684\u50cf\u7d20\u7070\u5ea6\u503c":20,"28\u7684\u7a20\u5bc6\u5411\u91cf\u548c\u4e00\u4e2a":20,"2\u8fdb\u884c\u8fdb\u4e00\u6b65\u6f14\u5316":10,"32777140e":23,"36540484e":23,"40gbe":6,"43630644e":23,"48565123e":23,"48684503e":23,"49316648e":23,"50k":0,"51111044e":23,"53018653e":23,"56gbe":6,"5\u5230\u672c\u5730\u73af\u5883\u4e2d":7,"70634608e":23,"72296313e":23,"85625684e":23,"93137714e":23,"96644767e":23,"99982715e":23,"9\u7684\u6570\u5b57":20,"\u4e00\u4e2a\u6587\u4ef6":20,"\u4e00\u4e2alogging\u5bf9\u8c61":20,"\u4e00\u4e2apass\u8868\u793a\u8fc7\u4e00\u904d\u6240\u6709\u8bad\u7ec3\u6837\u672c":10,"\u4e00\u6761":20,"\u4e00\u81f4\u7684\u7279\u5f81":20,"\u4e00\u822c\u60c5\u51b5\u4e0b":19,"\u4e00\u822c\u63a8\u8350\u8bbe\u7f6e\u6210true":20,"\u4e00\u884c\u4e3a\u4e00\u4e2a\u6837\u672c":10,"\u4e00\u884c\u5bf9\u5e94\u4e00\u4e2a\u6570\u636e\u6587\u4ef6":19,"\u4e0a\u7684\u6548\u679c":10,"\u4e0b\u8f7d\u8fdb\u7a0b\u4f1a\u91cd\u542f":0,"\u4e0b\u8ff0\u5185\u5bb9\u5c06\u5206\u4e3a\u5982\u4e0b\u51e0\u4e2a\u7c7b\u522b\u63cf\u8ff0":6,"\u4e0b\u975e\u5e38\u5c11\u7684\u53d8\u91cf\u5f15\u7528":20,"\u4e0b\u9762dataprovid":10,"\u4e0d\u4e00\u5b9a\u548c\u65f6\u95f4\u6709\u5173\u7cfb":20,"\u4e0d\u4f1a\u6267\u884c\u6d4b\u8bd5\u64cd\u4f5c":19,"\u4e0d\u5305\u542blabel":23,"\u4e0d\u540c\u7684\u6570\u636e\u7c7b\u578b\u548c\u5e8f\u5217\u6a21\u5f0f\u8fd4\u56de\u7684\u683c\u5f0f\u4e0d\u540c":20,"\u4e0d\u652f\u6301avx\u6307\u4ee4\u96c6\u7684cpu\u4e5f\u53ef\u4ee5\u8fd0\u884c":6,"\u4e0d\u7f13\u5b58\u4efb\u4f55\u6570\u636e":20,"\u4e0d\u9700\u8981avx\u6307\u4ee4\u96c6\u7684cpu\u4e5f\u53ef\u4ee5\u8fd0\u884c":6,"\u4e0e\u8bad\u7ec3\u7f51\u7edc\u914d\u7f6e\u4e0d\u540c\u7684\u662f":10,"\u4e14\u5e8f\u5217\u7684\u6bcf\u4e00\u4e2a\u5143\u7d20\u8fd8\u662f\u4e00\u4e2a\u65f6\u95f4\u5e8f\u5217":20,"\u4e24\u4e2a\u6587\u6863":6,"\u4e24\u7c7b":10,"\u4e25\u91cd\u7684\u95ee\u9898":20,"\u4e2a":10,"\u4e2ayield":20,"\u4e2d":10,"\u4e2d\u5b9a\u4e49\u4f7f\u7528\u54ea\u79cddataprovider\u53ca\u5176\u53c2\u6570":19,"\u4e2d\u5b9a\u4e49\u7684\u987a\u5e8f\u4e00\u81f4":20,"\u4e2d\u5bfb\u627e\u8fd9\u4e9bblas\u7684\u5b9e\u73b0":1,"\u4e2d\u7684":20,"\u4e2d\u7684\u4e8c\u8fdb\u5236\u4f7f\u7528\u4e86":6,"\u4e2d\u7684set":20,"\u4e2d\u914d\u7f6e":20,"\u4e3a":20,"\u4e3a\u4e86\u8fd0\u884cpaddlepaddle\u7684docker\u955c\u50cf":6,"\u4e3a\u4f8b\u8fdb\u884c\u9884\u6d4b":10,"\u4e3b\u8981\u51fd\u6570\u662fprocess\u51fd\u6570":20,"\u4e3b\u8981\u5206\u4e3a\u4ee5\u4e0b\u51e0\u4e2a\u6b65\u9aa4":23,"\u4e3b\u8981\u5305\u62ec\u4e24\u90e8\u5206":10,"\u4e3b\u8981\u662f\u589e\u52a0\u4e86\u521d\u59cb\u5316\u673a\u5236":20,"\u4e3b\u8981\u6b65\u9aa4\u4e3a":23,"\u4e3b\u8981\u7531\u4e8e\u65e7\u7248\u672c":0,"\u4e3b\u8981\u7684\u8f6f\u4ef6\u5305\u4e3apy_paddl":23,"\u4e5f\u4f1a\u6254\u5230\u8fd9\u6761\u6570\u636e":20,"\u4e5f\u4f1a\u8bfb\u53d6\u76f8\u5173\u8def\u5f84\u53d8\u91cf\u6765\u8fdb\u884c\u641c\u7d22":1,"\u4e5f\u53ef\u4ee5":20,"\u4e5f\u53ef\u4ee5\u4f7f\u7528":20,"\u4e5f\u53ef\u4ee5\u548cpaddl":13,"\u4e5f\u53ef\u4ee5\u76f4\u63a5\u6267\u884c":6,"\u4e5f\u53ef\u4ee5\u901a\u8fc7\u5982\u4e0b\u65b9\u5f0f\u9884\u6d4b":10,"\u4e5f\u53ef\u4ee5\u901a\u8fc7save":10,"\u4e5f\u53ef\u4ee5\u9884\u6d4b\u6ca1\u6709label\u7684\u6d4b\u8bd5\u96c6":10,"\u4e5f\u5c31\u662f\u5c06\u8bcd\u5411\u91cf\u6a21\u578b\u989d\u6b65":10,"\u4e5f\u5c31\u662f\u76f4\u63a5\u5199\u5185\u5b58\u7684float\u6570\u7ec4":23,"\u4e5f\u9700\u8981\u4e24\u6b21\u968f\u673a\u9009\u62e9\u5230\u540c\u6837\u7684generator\u7684\u65f6\u5019":20,"\u4e86\u975e\u5e38\u65b9\u4fbf\u7684\u4e8c\u8fdb\u5236\u5206\u53d1\u624b\u6bb5":6,"\u4e8c\u6b21\u5f00\u53d1\u53ef\u4ee5":6,"\u4eba\u5458\u7b49\u7b49":0,"\u4ec5\u4ec5\u9700\u8981":20,"\u4ecb\u7ecdpaddlepaddle\u4f7f\u7528\u6d41\u7a0b\u548c\u5e38\u7528\u7684\u7f51\u7edc\u57fa\u7840\u5355\u5143\u7684\u914d\u7f6e\u65b9\u6cd5":10,"\u4ece\u6587\u4ef6\u4e2d\u8bfb\u53d6\u6bcf\u4e00\u6761\u6570\u636e":20,"\u4ece\u6587\u672c\u6587\u4ef6\u4e2d\u8bfb\u53d6":20,"\u4ece\u800c\u4e0d\u80fd\u5728\u8fd0\u884c\u7f16\u8bd1\u547d\u4ee4\u7684\u65f6\u5019\u63a5\u53d7\u53c2\u6570":0,"\u4ece\u800c\u751f\u6210\u591a\u4e2agener":20,"\u4ece\u800c\u9632\u6b62\u8fc7\u62df\u5408":19,"\u4ed6\u4eec\u662f":[6,7,13,20],"\u4ed6\u4eec\u7684imag":6,"\u4ed6\u53ef\u4ee5\u5c06\u67d0\u4e00\u4e2a\u51fd\u6570\u6807\u8bb0\u6210\u4e00\u4e2apydataprovid":20,"\u4ee4\u884c\u53c2\u6570\u6587\u6863":10,"\u4ee5\u592a\u7f51\u5361":6,"\u4ee5\u76f8\u5bf9\u8def\u5f84\u5f15\u7528":19,"\u4efb\u610f\u4e00\u79cdcblas\u5b9e\u73b0":1,"\u4f1a\u62a5\u5bfb\u627e\u4e0d\u5230\u8fd9\u4e9b\u52a8\u6001\u5e93":7,"\u4f1a\u6839\u636e\u547d\u4ee4\u884c\u53c2\u6570\u6307\u5b9a\u7684\u6d4b\u8bd5\u65b9\u5f0f":19,"\u4f1a\u6839\u636einput_types\u68c0\u67e5\u6570\u636e\u7684\u5408\u6cd5\u6027":20,"\u4f1a\u751f\u6210\u591a\u4e2agener":20,"\u4f1a\u9884\u5148\u8bfb\u53d6\u5168\u90e8\u6570\u636e\u5230\u5185\u5b58\u4e2d":20,"\u4f20\u5165\u547d\u4ee4\u884c\u53c2\u6570\u521d\u59cb\u5316":23,"\u4f20\u5165\u7684\u662f\u4e00\u4e2a\u51fd\u6570":20,"\u4f20\u5165\u7684\u914d\u7f6e\u53c2\u6570\u5305\u62ec":0,"\u4f20\u5165\u8fd9\u4e2a\u53d8\u91cf\u7684\u65b9\u5f0f\u4e3a":20,"\u4f46\u662f":[0,20],"\u4f46\u662f\u5728":20,"\u4f46\u662f\u5982\u679c\u4f7f\u7528\u4e86\u9ad8\u6027\u80fd\u7684\u7f51\u5361":6,"\u4f46\u662f\u65b9\u4fbf\u8c03\u8bd5\u548cbenchmark":1,"\u4f46\u662f\u6709\u65f6\u4e3a\u4e86\u8ba1\u7b97\u5747\u8861\u6027":20,"\u4f46\u7406\u8bba\u4e0a\u652f\u6301\u5176\u4ed6\u7684":7,"\u4f46\u9700\u8981\u6ce8\u610f\u7684\u662f\u7f16\u8bd1\u548c":1,"\u4f4e\u4e8edocker":0,"\u4f53\u53ef\u4ee5\u53c2\u8003":20,"\u4f7f\u5728python\u73af\u5883\u4e0b\u7684\u9884\u6d4b\u63a5\u53e3\u66f4\u52a0\u7b80\u5355":23,"\u4f7f\u7528":[1,6,23],"\u4f7f\u7528\u5982\u4e0b\u811a\u672c\u53ef\u4ee5\u786e\u5b9a\u672c\u673a\u7684cpu\u77e5\u5426\u652f\u6301":6,"\u4f7f\u7528\u7684\u547d\u4ee4\u4e5f\u662f":1,"\u4f7f\u7528\u8be5\u63a5\u53e3\u7528\u6237\u53ef\u4ee5\u53ea\u5173\u6ce8\u5982\u4f55":20,"\u4f7f\u7528\u8be5dockerfile\u6784\u5efa\u51fa\u955c\u50cf":6,"\u4f7f\u7528\u8fd9\u4e2a\u5173\u952e\u8bcd":20,"\u4f7f\u7528deb\u5305\u5728ubuntu\u4e0a\u5b89\u88c5paddlepaddl":5,"\u4f7f\u7528dockerfile\u6784\u5efa\u4e00\u4e2a\u5168\u65b0\u7684dock":6,"\u4f7f\u7528mnist\u624b\u5199\u8bc6\u522b\u4f5c\u4e3a\u6837\u4f8b":23,"\u4f7f\u7528ssh\u8bbf\u95eepaddlepaddle\u955c\u50cf":6,"\u4f8b\u5982":[1,10,20],"\u4f8b\u5982\u6587\u4ef6\u540d\u662f":20,"\u4f8b\u5982rdma\u7f51\u5361":6,"\u4f8b\u5982sigmoid\u53d8\u6362":10,"\u4f9d\u6b21\u8fd4\u56de\u4e86\u6587\u4ef6\u4e2d\u7684\u6bcf\u6761\u6570\u636e":20,"\u4fe1\u606f":6,"\u5173\u95edcontain":6,"\u5176\u4e2d":[0,6,7,19,20,23],"\u5176\u4e2d\u6587\u672c\u8f93\u5165\u7c7b\u578b\u5b9a\u4e49\u4e3a\u6574\u6570\u65f6\u5e8f\u7c7b\u578binteg":10,"\u5176\u4e2d\u7b2c\u4e00\u884c\u662f\u5f15\u5165paddlepaddle\u7684pydataprovider2\u5305":20,"\u5176\u4ed6\u53c2\u6570\u5747\u4f7f\u7528kei":20,"\u5176\u4ed6\u53c2\u6570\u8bf7\u53c2\u8003":10,"\u5176\u4ed6\u53c2\u6570\u90fd\u4f7f\u7528kei":20,"\u5176\u4f5c\u7528\u662f\u5c06\u8bad\u7ec3\u6570\u636e\u4f20\u5165\u5185\u5b58\u6216\u8005\u663e\u5b58":19,"\u5176\u5b83\u90e8\u5206\u548c\u903b\u8f91\u56de\u5f52\u7f51\u7edc\u7ed3\u6784\u4e00\u81f4":10,"\u5176\u6570\u636e\u4f7f\u7528":20,"\u5176\u7b2c\u4e00\u884c\u8bf4\u660e\u4e86paddle\u7684\u7248\u672c":18,"\u5177":20,"\u5177\u4f53\u53ef\u4ee5\u8bbe\u7f6e\u6210\u4ec0\u4e48\u5176\u4ed6\u683c":20,"\u5177\u4f53\u6709\u54ea\u4e9b\u683c\u5f0f":20,"\u5177\u4f53\u8bf7\u53c2\u8003\u6ce8\u610f\u4e8b\u9879\u4e2d\u7684":6,"\u5177\u4f53dataprovider\u8fd8\u5177\u6709\u4ec0\u4e48\u529f\u80fd":20,"\u5177\u6709\u4e24\u4e2a\u53c2\u6570":20,"\u5177\u6709\u548c\u5bbf\u4e3b\u673a\u76f8\u8fd1\u7684\u8fd0\u884c\u6548\u7387":6,"\u5177\u6709\u7684\u5c5e\u6027\u6709":20,"\u5178\u578b\u7684\u8f93\u51fa\u7ed3\u679c\u4e3a":23,"\u5178\u578b\u7684\u9884\u6d4b\u4ee3\u7801\u5982\u4e0b":23,"\u5185\u5b58\u4e0d\u591f\u7528\u7684\u60c5\u51b5":19,"\u518d\u6307\u5b9a":1,"\u5199\u5165train":20,"\u5199\u5728train":19,"\u51c6\u5907\u6570\u636e":23,"\u51fd\u6570":20,"\u51fd\u6570\u4e2d":20,"\u51fd\u6570\u4e2d\u4f7f\u7528":20,"\u51fd\u6570\u4e2d\u7684":20,"\u51fd\u6570\u662f\u4f7f\u7528":20,"\u51fd\u6570\u6765\u4fdd\u8bc1\u517c\u5bb9\u6027":20,"\u51fd\u6570\u67e5\u8be2\u6587\u6863":23,"\u5206\u5e03\u5f0f\u8bad\u7ec3":10,"\u5206\u7c7b\u6210\u6b63\u9762\u60c5\u7eea\u548c":20,"\u5217\u8868\u5982\u4e0b":20,"\u5219\u53ef\u4ee5\u4f7f\u7528":6,"\u5219\u53ef\u4ee5\u9009\u62e9\u4e0a\u8868\u4e2d\u7684avx\u7248\u672cpaddlepaddl":6,"\u5219\u5b57\u4e0e\u5b57\u4e4b\u95f4\u7528\u7a7a\u683c\u5206\u9694":10,"\u5219\u9700\u8981\u4f7f\u7528":7,"\u5219\u9700\u8981\u5148\u5c06":6,"\u5219\u9700\u8981\u8fdb\u884c\u4e00\u5b9a\u7684\u4e8c\u6b21\u5f00\u53d1":6,"\u521b\u5efa\u4e00\u4e2a":23,"\u521b\u5efagener":20,"\u5220\u9664contain":6,"\u5229\u7528\u5355\u8bcdid\u67e5\u627e\u5bf9\u5e94\u7684\u8be5\u5355\u8bcd\u7684\u8fde\u7eed\u8868\u793a\u5411\u91cf":10,"\u5229\u7528\u903b\u8f91\u56de\u5f52\u6a21\u578b\u5bf9\u8be5\u5411\u91cf\u8fdb\u884c\u5206\u7c7b":10,"\u522b":10,"\u5269\u4e0b\u7684pass\u4f1a\u76f4\u63a5\u4ece\u5185\u5b58\u91cc":20,"\u52a0\u4e86l2\u6b63\u5219\u548c\u68af\u5ea6\u622a\u65ad":10,"\u52a0\u8f7d\u6570\u636e":10,"\u5305":6,"\u5305\u548c":6,"\u5305\u62ec":10,"\u5305\u62ec\u7b80\u5355\u7684rnn\u6a21\u578b":10,"\u5305\u62ecdocker\u955c\u50cf":5,"\u5305\u62ecpaddle\u7684\u4e8c\u8fdb\u5236":6,"\u5305\u62ecpaddle\u8fd0\u884cdemo\u6240\u9700\u8981\u7684\u4f9d\u8d56":6,"\u5373":[6,10],"\u5373\u4e0d\u5728\u4e4e\u5185\u5b58\u6682\u5b58\u591a\u5c11\u6761\u6570\u636e":20,"\u5373\u4e0d\u662f\u4e00\u6761\u5e8f\u5217":20,"\u5373\u4ece\u5355\u8bcd\u5b57\u7b26\u4e32\u5230\u5355\u8bcdid\u7684\u5b57\u5178":20,"\u5373\u4f1a\u751f\u6210100\u4e2agener":20,"\u5373\u4f7f\u5728check\u4e2d\u6570\u636e\u4e0d\u5408\u6cd5":20,"\u5373\u4f7f\u5728process\u91cc\u9762\u53ea\u4f1a\u6709\u4e00":20,"\u5373\u5305\u542b\u65f6\u95f4\u6b65\u4fe1\u606f":20,"\u5373\u53ef":20,"\u5373\u53ef\u4ee5\u4f7f\u7528ssh\u8bbf\u95ee\u5bbf\u4e3b\u673a\u76848022\u7aef\u53e3":6,"\u5373\u53ef\u542f\u52a8\u548c\u8fdb\u5165paddlepaddle\u7684contain":6,"\u5373\u53ef\u5728\u672c\u5730\u7f16\u8bd1\u51fapaddlepaddle\u7684\u955c\u50cf":0,"\u5373\u53ef\u6253\u5370\u51fapaddlepaddle\u7684\u7248\u672c\u548c\u6784\u5efa":6,"\u5373\u5927\u90e8\u5206\u503c\u4e3a0":20,"\u5373\u5982\u679ctrain":20,"\u5373\u5bf9\u7b2c3\u6b65\u8fdb\u884c\u66ff\u6362":10,"\u5373\u662f\u4e00\u6761\u65f6\u95f4\u5e8f\u5217":20,"\u5373train":20,"\u5377\u79ef\u7f51\u7edc\u662f\u4e00\u79cd\u7279\u6b8a\u7684\u4ece\u8bcd\u5411\u91cf\u8868\u793a\u5230\u53e5\u5b50\u8868\u793a\u7684\u65b9\u6cd5":10,"\u53c2\u6570":0,"\u53c2\u6570\u6570\u91cf":10,"\u53c2\u8003":19,"\u53c2\u89c1":[3,4],"\u53d1\u884c\u7248":7,"\u53d6\u51b3\u4e8e\u662f\u5426\u5bfb\u627e\u5230gflags":1,"\u53d6\u51b3\u4e8e\u662f\u5426\u5bfb\u627e\u5230glog":1,"\u53d6\u51b3\u4e8e\u662f\u5426\u5bfb\u627e\u5230gtest":1,"\u53d6\u51b3\u4e8e\u662f\u5426\u627e\u5230swig":1,"\u53d8\u4e3a3\u4e2a\u65b0\u7684\u5b50\u6b65\u9aa4":10,"\u53d8\u4f1a\u62a5\u8fd9\u4e2a\u9519\u8bef":7,"\u53d8\u91cf":20,"\u53e5\u5b50\u8868\u793a\u7684\u8ba1\u7b97\u66f4\u65b0\u4e3a2\u6b65":10,"\u53ea\u5305\u62ecpaddle\u7684\u4e8c\u8fdb\u5236":6,"\u53ea\u662f\u5c06\u53e5\u5b50\u5229\u7528\u8fde\u7eed\u5411\u91cf\u8868\u793a\u66ff\u6362\u7a00\u758f":10,"\u53ea\u662f\u8bf4\u660e\u6570\u636e\u7684\u987a\u5e8f\u662f\u91cd\u8981\u7684":20,"\u53ea\u80fd\u591f\u8fd4\u56delist\u6216\u8005tupl":20,"\u53ea\u9700\u8981\u4f7f\u7528\u4e00\u884c\u4ee3\u7801\u5373\u53ef\u4ee5\u8bbe\u7f6e\u8bad\u7ec3\u5f15\u7528\u8fd9\u4e2adataprovid":20,"\u53ea\u9700\u8981\u5728":20,"\u53ea\u9700\u8981\u77e5\u9053\u8fd9\u53ea\u662f\u4e00\u4e2a\u6807\u8bb0\u5c5e\u6027\u7684\u65b9\u6cd5\u5c31\u53ef\u4ee5\u4e86":20,"\u53ef\u4ee5\u4e3a\u4e00\u4e2a\u6570\u636e\u6587\u4ef6\u8fd4\u56de\u591a\u6761\u8bad\u7ec3\u6837\u672c":20,"\u53ef\u4ee5\u4f20\u516510k":0,"\u53ef\u4ee5\u4f7f\u7528":0,"\u53ef\u4ee5\u4f7f\u7528\u547d\u4ee4":7,"\u53ef\u4ee5\u4f7f\u7528\u8bad\u7ec3\u597d\u7684\u6a21\u578b\u8bc4\u4f30\u5e26\u6709label\u7684\u9a8c\u8bc1\u96c6":10,"\u53ef\u4ee5\u4f7f\u7528graphviz\u5bf9paddlepaddle\u7684\u7f51\u7edc\u6a21\u578b\u8fdb\u884c\u7ed8\u5236":13,"\u53ef\u4ee5\u4f7f\u7528paddl":13,"\u53ef\u4ee5\u4f7f\u7528python\u7684":23,"\u53ef\u4ee5\u53c2\u8003":10,"\u53ef\u4ee5\u5728\u4e00\u4e2a\u51fd\u6570\u91cc":20,"\u53ef\u4ee5\u5728cmake\u7684\u547d\u4ee4\u884c\u8bbe\u7f6e":1,"\u53ef\u4ee5\u5c06\u4e00\u6761\u6570\u636e\u8bbe\u7f6e\u6210\u591a\u4e2abatch":20,"\u53ef\u4ee5\u5c06paddlepaddle\u7684\u6a21\u578b\u548c\u914d\u7f6e\u6253\u5305\u6210\u4e00\u4e2a\u6587\u4ef6":13,"\u53ef\u4ee5\u5c06paddlepaddle\u7684\u8bad\u7ec3\u6a21\u578b\u4ee5proto":13,"\u53ef\u4ee5\u65b9\u4fbf\u5d4c\u5165\u5f0f\u5de5\u4f5c":1,"\u53ef\u4ee5\u6839\u636e\u4e0d\u540c\u7684\u6570\u636e\u914d\u7f6e\u4e0d\u540c\u7684\u8f93\u5165\u7c7b\u578b":20,"\u53ef\u4ee5\u8fd4\u56de\u4e00\u4e2adict":20,"\u53ef\u4ee5\u901a\u8fc7show":10,"\u53ef\u7528\u5728\u6d4b\u8bd5\u6216\u8bad\u7ec3\u65f6\u6307\u5b9a\u521d\u59cb\u5316\u6a21\u578b":10,"\u53ef\u80fd\u7684\u5185\u5b58\u6cc4\u9732\u95ee\u9898":19,"\u53ef\u80fd\u7684\u8f93\u51fa\u4e3a":7,"\u53ef\u9009":20,"\u5404\u79cd\u53c2\u6570\u548c\u7ef4\u62a4":0,"\u540c\u65f6":[0,1,20],"\u540c\u65f6\u4f1a\u8ba1\u7b97\u5206\u7c7b\u51c6\u786e\u7387":10,"\u540c\u65f6\u6b22\u8fce\u8d21\u732e\u66f4\u591a\u7684\u5b89\u88c5\u5305":5,"\u540d\u79f0":10,"\u540e\u9762\u8ddf\u7740\u4e00\u7cfb\u5217\u7f16\u8bd1\u53c2\u6570":18,"\u5411\u91cf\u8868\u793a":10,"\u5426":1,"\u5426\u5219":19,"\u5426\u5219\u9700\u8981\u9009\u62e9\u975eavx\u7684paddlepaddl":6,"\u547d\u4ee4":0,"\u547d\u4ee4\u4e3a":6,"\u547d\u4ee4\u5373\u53ef\u5b8c\u6210\u5b89\u88c5":7,"\u547d\u4ee4\u6307\u5b9a\u7684\u53c2\u6570\u4f1a\u4f20\u5165\u7f51\u7edc\u914d\u7f6e\u4e2d":10,"\u547d\u4ee4\u8fd0\u884c\u955c\u50cf":6,"\u547d\u4ee4\u9884\u5148\u4e0b\u8f7d\u955c\u50cf":6,"\u548c":[1,6,20],"\u548c\u4e09\u79cd\u5e8f\u5217\u6a21\u5f0f":20,"\u548c\u5dee\u8bc4":10,"\u548c\u6587\u672c\u4fe1\u606f\u7528tab\u95f4\u9694":10,"\u548c\u6d4b\u8bd5\u6587\u4ef6\u5217\u8868":19,"\u548c\u7528\u6237\u4f20\u5165\u7684\u53c2\u6570":20,"\u548c\u9884\u5904\u7406\u811a\u672c":10,"\u548ccudnn":7,"\u548cinitalizer\u91cc\u5b9a\u4e49\u987a\u5e8f\u4e00\u81f4":10,"\u5668":10,"\u56db\u4e2a\u7248\u672c":7,"\u56db\u79cd\u6570\u636e\u7c7b\u578b\u662f":20,"\u56fe\u50cf\u5206\u7c7b":9,"\u5728":[1,7,20],"\u5728\u58f0\u660edataprovider\u7684\u65f6\u5019\u4f20\u5165\u4e86dictionary\u4f5c\u4e3a\u53c2\u6570":20,"\u5728\u5b8c\u6210\u4e86\u6570\u636e\u548c\u7f51\u7edc\u7ed3\u6784\u642d\u5efa\u4e4b\u540e":10,"\u5728\u672c\u95ee\u9898\u4e2d":10,"\u5728\u6a21\u578b\u914d\u7f6e\u4e2d\u5229\u7528":10,"\u5728\u6b64\u4e3a\u65b9\u4fbf\u5bf9\u6bd4\u4e0d\u540c\u7f51\u7edc\u7ed3\u6784":10,"\u5728\u6bcf\u4e2a\u7ef4\u5ea6\u4e0a\u53d6\u51fa\u5728\u8be5\u53e5\u8bdd\u65b0\u7684\u5411\u91cf\u96c6\u5408\u4e0a\u8be5\u7ef4\u5ea6\u7684\u6700\u5927\u503c\u4f5c\u4e3a\u6700\u540e\u7684\u53e5\u5b50\u8868\u793a\u5411\u91cf":10,"\u5728\u7a0b\u5e8f\u5f00\u59cb\u9636\u6bb5":23,"\u5728\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u8fdb\u884c\u6d4b\u8bd5":19,"\u5728\u8bad\u7ec3\u914d\u7f6e\u91cc":20,"\u5728\u8fd9\u4e2a\u51fd\u6570\u4e2d":20,"\u5728\u914d\u7f6e\u4e2d\u8bfb\u53d6\u4e86\u5b57\u5178":20,"\u5728cmake\u914d\u7f6e\u65f6\u53ef\u4ee5\u4f7f\u7528":1,"\u5728pydataprovider\u4e2d":20,"\u5728python\u73af\u5883\u4e0b\u9884\u6d4b\u7ed3\u679c":23,"\u57fa\u672c\u4e0a\u4e0d\u80fd\u6574\u4f53\u4fee\u6b63":20,"\u57fa\u672c\u7684\u5904\u7406\u903b\u8f91\u4e5f\u548cmnist\u903b\u8f91\u4e00\u81f4":20,"\u57fa\u672c\u7684pydataprovider\u4f7f\u7528\u4ecb\u7ecd\u5b8c\u6bd5\u4e86":20,"\u591a\u4e2ainput\u4ee5list\u65b9\u5f0f\u8f93\u5165":10,"\u591a\u6b21\u8fd4\u56de\u53d8\u91cf":20,"\u591a\u7ebf\u7a0b\u4e0b\u8f7d\u8fc7\u7a0b\u4e2d":0,"\u591a\u7ebf\u7a0b\u6570\u636e\u8bfb\u53d6":20,"\u5927":20,"\u597d\u8bc4":10,"\u5982\u679c":[7,20],"\u5982\u679c\u4e0d\u4e86\u89e3":20,"\u5982\u679c\u4e0d\u4f7f\u7528\u5219\u4f1a\u4f7f\u7528\u4e00\u4e2a\u7b80\u5316\u7248\u7684\u547d\u4ee4\u884c\u53c2\u6570\u89e3\u6790":1,"\u5982\u679c\u4e0d\u4f7f\u7528\u5219\u4f1a\u4f7f\u7528\u4e00\u4e2a\u7b80\u5316\u7248\u7684\u65e5\u5fd7\u5b9e\u73b0":1,"\u5982\u679c\u4e0d\u5207\u8bcd":10,"\u5982\u679c\u4e0d\u8bbe\u7f6e\u7684\u8bdd":20,"\u5982\u679c\u4f7f\u7528gpu\u7248\u672c\u7684paddlepaddl":7,"\u5982\u679c\u5728":7,"\u5982\u679c\u5728\u7b2c\u4e00\u6b21cmake\u4e4b\u540e\u60f3\u8981\u91cd\u65b0\u8bbe":1,"\u5982\u679c\u5728\u8bad\u7ec3\u65f6":20,"\u5982\u679c\u5c0f\u4e8e\u8fd9\u4e2a\u4e0b\u8f7d\u901f\u5ea6":0,"\u5982\u679c\u60a8\u4f7f\u7528":6,"\u5982\u679c\u60f3\u8981\u5728\u5916\u90e8\u673a\u5668\u8bbf\u95ee\u8fd9\u4e2acontain":6,"\u5982\u679c\u662ffalse\u7684\u8bdd":20,"\u5982\u679c\u662ftrue\u7684\u8bdd":20,"\u5982\u679c\u6709\u66f4\u590d\u6742\u7684\u4f7f\u7528":19,"\u5982\u679c\u7528\u6237\u4e0d\u6307\u5b9a\u8fd4\u56de\u6570\u636e\u7684\u5bf9\u5e94\u5173\u7cfb":20,"\u5982\u679c\u8bbe\u7f6e\u6210true\u7684\u8bdd":20,"\u5982\u679c\u8f93\u51fa":6,"\u5982\u679c\u8fd0\u884cgpu\u7248\u672c\u7684paddlepaddl":6,"\u5982\u679ctest":19,"\u5b83\u5305\u542b\u7684\u53c2\u6570\u6709":20,"\u5b89\u88c5\u5305\u5728ubuntu":7,"\u5b89\u88c5\u5305\u7684\u4e0b\u8f7d\u5730\u5740\u662f":7,"\u5b89\u88c5\u597d\u7684paddlepaddle\u811a\u672c\u5305\u62ec\u591a\u6761\u547d\u4ee4":13,"\u5b89\u88c5\u5b8c\u6210\u540e":7,"\u5b89\u88c5\u5b8c\u6210\u7684paddlepaddle\u4e3b\u4f53\u5305\u62ec\u4e09\u4e2a\u90e8\u5206":6,"\u5b89\u88c5\u5b8c\u6210paddlepaddle\u540e":7,"\u5b89\u88c5\u6559\u7a0b":10,"\u5b89\u88c5\u65b9\u6cd5\u8bf7\u53c2\u8003":6,"\u5b89\u88c5\u7f16\u8bd1\u4f9d\u8d56":3,"\u5b89\u88c5\u7f16\u8bd1paddlepaddle\u9700\u8981\u7684\u4f9d\u8d56":2,"\u5b89\u88c5docker\u9700\u8981\u60a8\u7684\u673a\u5668":6,"\u5b89\u88c5paddlepaddl":10,"\u5b89\u88c5paddlepaddle\u7684docker\u955c\u50cf":5,"\u5b8c\u6210\u591a\u673a\u8bad\u7ec3":13,"\u5b8c\u6574\u4ee3\u7801\u89c1":23,"\u5b9a\u4e49\u6587\u672c\u4fe1\u606f":10,"\u5b9e\u73b0\u4e86\u6253\u5f00\u6587\u672c\u6587\u4ef6":20,"\u5bc6\u7801\u4e5f\u662froot":6,"\u5bf9\u4e8e\u7528\u6237\u6765\u8bf4":20,"\u5bf9\u4e8e\u7ed9\u5b9a\u7684\u4e00\u6761\u6587\u672c":10,"\u5bf9\u4e8ecuda\u7684toolkit\u6709\u65ad\u70b9\u7eed\u4f20\u548c\u4f20\u8f93\u901f\u5ea6\u8fc7\u5c0f\u91cd\u542f\u4e0b\u8f7d\u7684":0,"\u5bf9\u4e8emnist\u800c\u8a00":20,"\u5bf9\u8be5\u8868\u793a\u8fdb\u884c\u975e\u7ebf\u6027\u53d8\u6362":10,"\u5bf9\u8c61":20,"\u5bf9\u8c61convert":23,"\u5c06\u4f1a\u6d4b\u8bd5\u914d\u7f6e\u6587\u4ef6\u4e2dtest":10,"\u5c06\u5b57\u5178\u5b58\u5165\u4e86set":20,"\u5c06\u5bbf\u4e3b\u673a\u76848022\u7aef\u53e3\u6620\u5c04\u5230container\u768422\u7aef\u53e3\u4e0a":6,"\u5c06\u6570\u636e\u7ec4\u5408\u6210batch\u8bad\u7ec3":20,"\u5c06\u6587\u4ef6\u7684\u7edd\u5bf9\u8def\u5f84\u6216\u76f8\u5bf9\u8def\u5f84":19,"\u5c06\u8bc4\u8bba\u5206\u4e3a\u597d\u8bc4":10,"\u5c06\u8be5\u53e5\u8bdd\u5305\u542b\u7684\u6240\u6709\u5355\u8bcd\u5411\u91cf\u6c42\u5e73\u5747\u5f97\u5230\u53e5\u5b50\u7684\u8868\u793a":10,"\u5c06ssh\u88c5\u5165\u7cfb\u7edf\u5185\u5e76\u5f00\u542f\u8fdc\u7a0b\u8bbf\u95ee":6,"\u5c31":20,"\u5c31\u50cf\u8fd9\u4e2a\u6837\u4f8b\u4e00\u6837":20,"\u5c31\u662f\u5c06\u8fd9\u4e9b\u52a8\u6001\u5e93\u52a0\u5230\u73af\u5883\u53d8\u91cf\u91cc\u9762":7,"\u5c5e\u6027":20,"\u5dee\u8bc4":10,"\u5e38\u89c1\u7684\u8f93\u51fa\u683c\u5f0f\u4e3a":18,"\u5e76\u4e14":20,"\u5e76\u4e14\u4f7f\u7528\u5173\u952e\u8bcd":20,"\u5e76\u4e14\u5220\u9664container\u4e2d\u7684\u6570\u636e":6,"\u5e76\u4e14\u5728\u5185\u5b58\u8db3\u591f":20,"\u5e76\u4e14\u6807\u8bb0process\u51fd\u6570\u662f\u4e00\u4e2adataprovid":20,"\u5e76\u4f7f\u7528\u4e86dropout":10,"\u5e76\u572823\u884c\u8fd4\u56de\u7ed9paddlepaddle\u8fdb\u7a0b":20,"\u5e76\u5c06\u6bcf\u884c\u8f6c\u6362\u6210\u548c":20,"\u5e76\u63d0\u4f9b":6,"\u5e76\u63d0\u4f9b\u4e86\u7b80\u5355\u7684cache\u529f\u80fd":20,"\u5e76\u8bbe\u7f6e\u597d\u5bf9\u5e94\u7684\u73af\u5883\u53d8\u91cf":7,"\u5e76\u9010\u6e10\u5c55\u793a\u66f4\u52a0\u6df1\u5165\u7684\u529f\u80fd":10,"\u5e8f\u5217\u6a21\u578b\u6570\u636e\u63d0\u4f9b":19,"\u5e8f\u5217\u6a21\u578b\u662f\u6307\u6570\u636e\u7684\u67d0\u4e00\u7ef4\u5ea6\u662f\u4e00\u4e2a\u5e8f\u5217\u5f62\u5f0f":20,"\u5e93\u7684\u8bdd":7,"\u5f0f":20,"\u5f15\u7528\u7684dataprovider\u662f":20,"\u5f53\u51fd\u6570\u8fd4\u56de\u7684\u65f6\u5019":20,"\u5f53\u524dlog_period\u4e2abatch\u6240\u6709\u6837\u672c\u7684\u5e73\u5747\u5206\u7c7b\u9519\u8bef\u7387":10,"\u5f53\u524dlog_period\u4e2abatch\u6240\u6709\u6837\u672c\u7684\u5e73\u5747cost":10,"\u5f53\u7136":19,"\u5f53\u8c03":20,"\u5f88":10,"\u5f97\u5230\u7ed3\u679c":7,"\u5feb\u901f\u5165\u95e8":11,"\u5ff5\u662f":20,"\u60a8\u53ef\u4ee5\u4f7f\u7528":6,"\u60a8\u5c31\u53ef\u4ee5\u8fdc\u7a0b\u7684\u4f7f\u7528paddlepaddle\u5566":6,"\u60a8\u9700\u8981\u5728\u673a\u5668\u4e2d\u5b89\u88c5\u597ddocker":6,"\u60a8\u9700\u8981\u8fdb\u5165\u955c\u50cf\u8fd0\u884cpaddlepaddl":6,"\u60c5\u611f\u5206\u6790":9,"\u60f3\u8981\u8fd0\u884cpaddlepaddl":6,"\u6210\u4e3a\u7ef4\u5ea6\u4e3ahidden":10,"\u6211\u4eec\u4ece\u63d0\u524d\u7ed9\u5b9a\u7684\u7c7b\u522b\u96c6\u5408\u4e2d\u9009\u62e9\u5176\u6240\u5c5e\u7c7b":10,"\u6211\u4eec\u4ee5\u6587\u672c\u5206\u7c7b\u95ee\u9898\u4f5c\u4e3a\u80cc\u666f":10,"\u6211\u4eec\u4f7f\u7528":10,"\u6211\u4eec\u5728\u6b64\u603b":10,"\u6211\u4eec\u5c06\u4ee5\u57fa\u672c\u7684\u903b\u8f91\u56de\u5f52\u7f51\u7edc\u4f5c\u4e3a\u8d77\u70b9":10,"\u6211\u4eec\u5c06\u5728\u540e\u9762\u4ecb\u7ecd\u8bad\u7ec3\u548c\u9884\u6d4b\u7684\u6d41\u7a0b\u7684\u811a\u672c":10,"\u6211\u4eec\u5c06\u8bad\u7ec3\u7684\u547d\u4ee4\u884c\u4fdd\u5b58\u5728\u4e86":10,"\u6211\u4eec\u63a8\u8350\u4f7f\u7528docker\u955c\u50cf\u6765\u90e8\u7f72\u73af\u5883":5,"\u6211\u4eec\u63d0\u4f9b\u4e8612\u4e2a":6,"\u6211\u4eec\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5de5\u5177\u7c7bdataproviderconvert":23,"\u6211\u4eec\u8fdb\u5165\u5230\u8bad\u7ec3\u90e8\u5206":10,"\u6211\u4eec\u91c7\u7528\u5355\u5c42lstm\u6a21\u578b":10,"\u6211\u4eec\u968f\u65f6\u603b\u7ed3\u4e86\u5404\u4e2a\u7f51\u7edc\u7684\u590d\u6742\u5ea6\u548c\u6548\u679c":10,"\u6216\u5176\u4ed6":10,"\u6216\u8005":6,"\u6216\u800510g\u8fd9\u6837\u7684\u5355\u4f4d":0,"\u6216\u8005\u4f7f\u7528\u4e0b\u9762\u4e00\u6761\u547d\u4ee4\u5b89\u88c5":7,"\u6216\u8005\u5728python":20,"\u6216\u8005\u6570\u636e\u5e93\u8fde\u63a5\u5730\u5740\u7b49\u7b49":19,"\u6216\u8005\u8bbe\u7f6e\u4e3anone":19,"\u6216\u8005\u9700\u8981\u66f4\u9ad8\u7684\u6548\u7387":19,"\u6216\u8005\u9ad8\u6027\u80fd\u7684":6,"\u6240\u4ee5":[20,23],"\u6240\u4ee5\u5728cpu\u7684\u8fd0\u7b97\u6027\u80fd\u4e0a\u5e76\u4e0d\u4f1a\u6709\u4e25\u91cd\u7684\u5f71\u54cd":6,"\u6240\u4ee5\u5982\u679c\u5bf9\u4e8e\u5185\u5b58\u6bd4\u8f83\u5c0f\u7684\u673a\u5668":20,"\u6240\u4ee5\u5982\u679c\u60f3\u8981\u5728\u540e\u53f0\u542f\u7528ssh":6,"\u6240\u4ee5\u5c06":20,"\u6240\u4ee5\u63a8\u8350\u4f7f\u7528\u663e\u5f0f\u6307\u5b9a\u8fd4\u56de\u503c\u548c\u6570\u636e\u5bf9\u5e94\u5173\u7cfb":20,"\u6240\u4ee5\u6700\u4f73\u5b9e\u8df5\u63a8\u8350\u4e0d\u8981\u5c06\u6bcf\u4e00\u4e2a\u6837\u672c\u90fd\u653e\u5165train":20,"\u6240\u4ee5\u7528\u4e8e\u9884\u6d4b\u7684\u914d\u7f6e\u6587\u4ef6\u8981\u505a\u76f8\u5e94\u7684\u4fee\u6539":23,"\u6240\u4ee5\u8f93\u51fa\u7684value\u5305\u542b\u4e24\u4e2a\u5411\u91cf":23,"\u6240\u4ee5gpu\u5728\u8fd0\u7b97\u6027\u80fd\u4e0a\u4e5f\u4e0d\u4f1a\u6709\u4e25\u91cd\u7684\u5f71\u54cd":6,"\u6240\u4ee5init_hook\u5c3d\u91cf\u4f7f\u7528":20,"\u6240\u6709\u5b57\u7b26\u90fd\u5c06\u8f6c\u6362\u4e3a\u8fde\u7eed\u6574\u6570\u8868\u793a\u7684id\u4f20\u7ed9\u6a21\u578b":10,"\u6240\u6709\u6587\u4ef6\u5217\u8868":20,"\u6240\u6709\u7684":1,"\u6240\u6709\u7684\u4e0b\u8f7d\u7ebf\u7a0b\u5173\u95ed\u65f6":0,"\u6240\u6709\u914d\u7f6e\u5728":10,"\u6240\u8c13\u65f6\u95f4\u6b65\u4fe1\u606f":20,"\u624d\u4f1a\u91ca\u653e\u8be5\u6bb5\u5185\u5b58":20,"\u624d\u4f1astop":20,"\u6253\u5370\u7684\u65e5\u5fd7\u53d8\u591a":1,"\u6267\u884c":0,"\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5373\u53ef\u4ee5\u5173\u95ed\u8fd9\u4e2acontain":6,"\u6267\u884c\u65b9\u6cd5\u5982\u4e0b":6,"\u62a5\u9519":7,"\u62fc\u63a5\u6210\u4e00\u4e2a\u65b0\u7684\u5411\u91cf\u8868\u793a":10,"\u6307\u4ee4\u96c6":6,"\u6307\u5b9a\u521d\u59cb\u5316\u6a21\u578b\u8def\u5f84":10,"\u6307\u5b9a\u751f\u6210\u6570\u636e\u7684\u51fd\u6570":10,"\u6307\u5b9a\u8bad\u7ec3":10,"\u6307\u5b9abatch":10,"\u6307\u5b9aoutputs\u8f93\u51fa\u6982\u7387\u5c42":10,"\u6389\u7f16\u8bd1\u76ee\u5f55\u540e":1,"\u63a5\u4e0b\u6765\u4f7f\u7528":23,"\u63a5\u53e3\u4f7f\u7528\u591a\u7ebf\u7a0b\u8bfb\u53d6\u6570\u636e":20,"\u63a8\u8350\u4f7f\u7528\u5c06\u672c\u5730\u7f51\u5361":6,"\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u7248\u672c\u7684cudnn":1,"\u63a8\u8350\u6e05\u7406":1,"\u63a8\u8350\u76f4\u63a5\u653e\u7f6e\u5230\u8bad\u7ec3\u76ee\u5f55":19,"\u63a8\u8350\u8bbe\u7f6e":20,"\u63cf\u8ff0":1,"\u63cf\u8ff0\u4e86docker":0,"\u6548\u679c\u4e00\u81f4":20,"\u6548\u679c\u603b\u7ed3":10,"\u6559\u7a0b":10,"\u6570\u636e":20,"\u6570\u636e\u4f20\u8f93\u65e0\u9700label\u6570\u636e":10,"\u6570\u636e\u5904\u7406python\u6587\u4ef6\u540d":10,"\u6570\u636e\u5982\u4f55\u5b58\u50a8\u7b49\u7b49":20,"\u6570\u636e\u63d0\u4f9b":19,"\u6570\u636e\u6587\u4ef6\u5b58\u653e\u5728\u672c\u5730\u78c1\u76d8\u4e2d":19,"\u6570\u636e\u662f\u7ed9\u4e00\u6bb5\u82f1\u6587\u6587\u672c":20,"\u6570\u636e\u683c\u5f0f\u548c\u8be6\u7ec6\u6587\u6863\u8bf7\u53c2\u8003":10,"\u6587\u4ef6":20,"\u6587\u4ef6\u4e2d":10,"\u6587\u672c\u4e2d\u7684\u5355\u8bcd\u7528\u7a7a\u683c\u5206\u9694":10,"\u6587\u672c\u4fe1\u606f\u5c31\u662f\u4e00\u4e2a\u5e8f\u5217":20,"\u6587\u672c\u5206\u7c7b\u95ee\u9898":10,"\u6587\u672c\u5377\u79ef\u5206\u4e3a\u4e09\u4e2a\u6b65\u9aa4":10,"\u6587\u672c\u751f\u6210":9,"\u65b0\u5199layer":11,"\u65b9\u4fbf\u8c03\u8bd5\u4f7f\u7528":13,"\u65b9\u4fbf\u90e8\u7f72\u5206\u53d1":13,"\u65e0\u9700label\u76f8\u5173\u7684\u5c42":10,"\u65f6\u5e8f\u6a21\u578b\u5373\u4e3arnn\u6a21\u578b":10,"\u65f6\u5e8f\u6a21\u578b\u5747\u4f7f\u7528\u8be5\u811a\u672c":10,"\u662f":1,"\u662f\u4e00\u4e2abatch":20,"\u662f\u4e00\u4e2apython\u7684":20,"\u662f\u4e00\u4e2aswig\u5c01\u88c5\u7684paddlepaddle\u5305":6,"\u662f\u4e0d\u662f\u5f88\u7b80\u5355\u5462":20,"\u662f\u4e2adataprovider\u662f\u4e0d\u662f\u8981\u505ashuffl":20,"\u662f\u4ec0\u4e48\u4e5f\u6ca1\u5173\u7cfb":20,"\u662f\u4ece\u8bad\u7ec3\u914d\u7f6e\u4f20\u5165\u7684dict\u5bf9\u8c61":20,"\u662f\u51e0\u4e4e\u4e0d\u5360\u5185\u5b58\u7684":20,"\u662f\u521d\u59cb\u5316\u65f6\u8c03\u7528\u7684\u51fd\u6570":20,"\u662f\u540c\u4e00\u4e2a\u5bf9\u8c61":20,"\u662f\u5426\u4f7f\u7528\u53cc\u7cbe\u5ea6\u6d6e\u70b9\u6570":1,"\u662f\u5426\u4f7f\u7528\u8fd0\u884c\u65f6\u52a8\u6001\u52a0\u8f7dcuda\u52a8\u6001\u5e93":1,"\u662f\u5426\u4f7f\u7528gflags":1,"\u662f\u5426\u4f7f\u7528glog":1,"\u662f\u5426\u5185\u5d4cpython\u89e3\u91ca\u5668":1,"\u662f\u5426\u5bfb\u627e\u5230cuda\u5de5\u5177\u94fe":1,"\u662f\u5426\u5f00\u542f\u5355\u5143\u6d4b\u8bd5":1,"\u662f\u5426\u5f00\u542f\u8ba1\u65f6\u529f\u80fd\u5f00\u542f\u8ba1\u65f6\u529f\u80fd\u4f1a\u5bfc\u81f4\u8fd0\u884c\u7565\u6162":1,"\u662f\u5426\u5f00\u542fgpu\u529f\u80fd":0,"\u662f\u5426\u5f00\u542frdma\u652f\u6301":1,"\u662f\u5426\u7f16\u8bd1\u4e2d\u6587\u6587\u6863":1,"\u662f\u5426\u7f16\u8bd1\u542b\u6709avx\u6307\u4ee4\u96c6\u7684paddlepaddle\u4e8c\u8fdb\u5236":1,"\u662f\u5426\u7f16\u8bd1\u65f6\u8fdb\u884c\u4ee3\u7801\u98ce\u683c\u68c0\u67e5":1,"\u662f\u5426\u7f16\u8bd1\u82f1\u6587\u6587\u6863":1,"\u662f\u5426\u7f16\u8bd1gpu\u652f\u6301":1,"\u662f\u5426\u7f16\u8bd1python\u7684swig\u63a5\u53e3":1,"\u662f\u5728\u8fd0\u884c\u65f6\u6267\u884c\u7684":20,"\u662f\u6570\u636e\u7f13\u5b58\u7684\u7b56\u7565":20,"\u662f\u6570\u636e\u8f93\u5165\u683c\u5f0f":20,"\u662f\u8bbe\u7f6e\u8fd9\u4e2adataprovider\u8fd4\u56de\u4ec0\u4e48\u6837\u7684\u6570\u636e":20,"\u662f\u8bbe\u7f6edataprovider\u5728\u5185\u5b58\u4e2d\u6682\u5b58\u7684\u6570\u636e\u6761\u6570":20,"\u662f\u8bbe\u7f6edataprovider\u5728\u5185\u5b58\u4e2d\u6700\u5c0f\u6682\u5b58\u7684\u6570\u636e\u6761\u6570":20,"\u662fpaddlepaddle\u8d1f\u8d23\u63d0\u4f9b\u6570\u636e\u7684\u6a21\u5757":19,"\u662fpython\u7684\u4e00\u4e2a\u5173\u952e\u8bcd":20,"\u663e":10,"\u666e\u901a\u7528\u6237\u8bf7\u8d70\u5b89\u88c5\u6d41\u7a0b":5,"\u66f4\u8be6\u7ec6\u7528\u4f8b\u8bf7\u53c2\u8003\u6587\u6863":10,"\u66f4\u8be6\u7ec6\u7684\u4ecb\u7ecd\u8bf7\u53c2\u8003\u5404\u4e2a\u547d\u4ee4\u7684\u547d\u4ee4\u884c\u53c2\u6570\u6587\u6863":13,"\u66f4\u8be6\u7ec6\u7684\u7f51\u7edc\u914d\u7f6e":10,"\u6700\u4f4e\u7ebf\u7a0b\u7684\u4e0b\u8f7d\u901f\u5ea6":0,"\u6700\u540e\u4f7f\u7528":23,"\u6709100\u4e2a\u8bad\u7ec3\u6587\u4ef6":20,"\u6709\u503c\u7684\u4f4d\u7f6e\u53ea\u80fd\u53d61":20,"\u6709\u503c\u7684\u90e8\u5206\u53ef\u4ee5\u662f\u4efb\u4f55\u6d6e\u70b9\u6570":20,"\u6709\u90e8\u5206\u53c2\u6570\u662fpaddle\u81ea\u52a8\u751f\u6210\u7684":20,"\u672c\u8282\u6211\u4eec\u5c06\u4e13\u6ce8\u4e8e\u7f51\u7edc\u7ed3\u6784\u7684\u4ecb\u7ecd":10,"\u6765\u5b89\u88c5":7,"\u6765\u5f15\u7528\u8fd9\u4e2aimag":6,"\u6765\u63a5\u53d7\u4e0d\u4f7f\u7528\u7684":20,"\u6765\u786e\u5b9a\u5bf9\u5e94\u5173\u7cfb":20,"\u6765\u81ea\u5b9a\u4e49\u4f20\u6570\u636e\u7684\u8fc7\u7a0b":19,"\u6765\u8bf4\u660e\u7b80\u5355\u7684pydataprovider\u5982\u4f55\u4f7f\u7528":20,"\u6765\u8fdb\u884c\u8bad\u7ec3":6,"\u6765\u914d\u7f6ecudnn\u7684\u5b89\u88c5\u8def\u5f84":1,"\u6784\u9020gradientmachin":23,"\u6790\u597d\u7684\u914d\u7f6e\u521b\u5efa\u795e\u7ecf\u7f51\u7edc":23,"\u67e5\u770b\u5b89\u88c5\u540e\u7684paddl":7,"\u6807\u7b7e\u662f0":20,"\u6837\u4f8b\u6570\u636e\u4e3a":20,"\u6837\u4f8b\u6570\u636e\u5982\u4e0b":20,"\u6837\u672c":20,"\u6839\u636e\u4e0a\u4e00\u6b65\u89e3":23,"\u6839\u636e\u6a21\u578b\u914d\u7f6e\u6587\u4ef6\u4e2d":20,"\u683c\u5f0f\u5982\u4e0b":10,"\u68d2":10,"\u6a21\u578b\u5b58\u50a8\u8def\u5f84":10,"\u6a21\u578b\u8bad\u7ec3\u4f1a\u770b\u5230\u8fd9\u6837\u7684\u65e5\u5fd7":10,"\u6a21\u578b\u914d\u7f6e":11,"\u6a2a\u5411\u5305\u62ec\u4e09\u4e2a\u7248\u672c":6,"\u6b63\u5e38\u7684docker":6,"\u6b63\u6837\u672c":10,"\u6bcf\u4e00\u4e2a\u4efb\u52a1\u6d41\u7a0b\u90fd\u53ef\u4ee5\u5206\u4e3a\u5982\u4e0b5\u4e2a\u57fa\u7840\u90e8\u5206":10,"\u6bcf\u4e00\u6761\u8bad\u7ec3\u6570\u636e\u90fd\u662f\u4e00\u4e2a\u6587\u4ef6":20,"\u6bcf\u4e00\u884c":20,"\u6bcf\u4e2a\u5c42\u90fd\u6709\u4e00\u4e2a\u6216\u591a\u4e2ainput":10,"\u6bcf\u4e2agenerator\u5728\u6ca1\u6709\u8c03\u7528\u7684\u65f6\u5019":20,"\u6bcf\u4e2apass\u7684\u7b2c0\u4e2abatch\u5230\u5f53\u524dbatch\u6240\u6709\u6837\u672c\u7684\u5e73\u5747\u5206\u7c7b\u9519\u8bef\u7387":10,"\u6bcf\u4e2apass\u7684\u7b2c0\u4e2abatch\u5230\u5f53\u524dbatch\u6240\u6709\u6837\u672c\u7684\u5e73\u5747cost":10,"\u6bcf\u6b21\u90fd\u4f1a\u4ecepython\u7aef\u8bfb\u53d6\u6570\u636e":20,"\u6bcf\u884c\u4fdd\u5b58\u4e00\u6761\u6837\u672c":10,"\u6bcf\u9694\u591a\u5c11batch\u6253\u5370\u4e00\u6b21\u65e5\u5fd7":10,"\u6bd4\u5982\u901a\u8fc7\u7528\u6237\u5bf9\u7535\u5b50\u5546\u52a1\u7f51\u7ad9\u8bc4\u8bba":10,"\u6bd4\u8f83\u53ef\u80fd\u7684\u547d\u4ee4\u5982\u4e0b":7,"\u6ca1\u6709\u4f5c\u7528":20,"\u6ca1\u6709\u5b89\u88c5":7,"\u6ca1\u6709\u8bbe\u7f6e":7,"\u6ce8\u610f":[0,20],"\u6d41\u7a0b\u5982\u4e0b":10,"\u6d4b\u8bd5\u6570\u636e":10,"\u6d4b\u8bd5\u7684\u65f6\u5019\u9ed8\u8ba4\u4e0dshuffl":20,"\u6d4b\u8bd5\u811a\u672c\u5982\u4e0b":10,"\u6e90\u7801":10,"\u6e90\u7801\u6839\u76ee\u5f55":0,"\u6fc0\u6d3b\u51fd\u6570\u7c7b\u578b":10,"\u7136\u540e\u6267\u884c\u5982\u4e0b":7,"\u7136\u540e\u8fd0\u884c\u8fd9\u4e2acontainer\u5373\u53ef":6,"\u7248\u672c":7,"\u751f\u6210\u5404\u4e2a\u5e73\u53f0\u7684makefil":1,"\u75280\u548c1\u8868\u793a":20,"\u7528\u4e86\u4e24\u4e2a\u6708\u4e4b\u540e\u8fd9\u4e2a\u663e\u793a\u5668\u5c4f\u5e55\u788e\u4e86":10,"\u7528\u4e8e\u4e0d\u652f\u6301avx\u6307\u4ee4\u96c6\u7684cpu":7,"\u7528\u6237\u4e5f\u53ef\u4ee5\u5728c":19,"\u7528\u6237\u4e5f\u53ef\u4ee5\u663e\u5f0f\u6307\u5b9a\u8fd4\u56de\u7684\u6570\u636e\u5bf9\u5e94\u5173\u7cfb":20,"\u7528\u6237\u53ef\u4ee5\u4f7f\u7528python\u7684":19,"\u7528\u6237\u53ef\u4ee5\u6839\u636e\u8bad\u7ec3log\u9009\u62e9test\u7ed3\u679c\u6700\u597d\u7684\u6a21\u578b\u6765\u9884\u6d4b":10,"\u7528\u6237\u53ef\u4ee5\u9009\u62e9\u5bf9\u5e94\u7248\u672c\u7684docker":6,"\u7528\u6237\u540d\u4e3a":6,"\u7528\u6237\u5728dataprovider\u4e2d\u9700\u8981\u5b9e\u73b0\u5982\u4f55\u8bbf\u95ee\u5176\u4e2d\u6bcf\u4e00\u4e2a\u6587\u4ef6":19,"\u7528\u6237\u5b9a\u4e49\u7684\u53c2\u6570\u4f7f\u7528args\u5728\u8bad\u7ec3\u914d\u7f6e\u4e2d\u8bbe\u7f6e":20,"\u7528\u6237\u63a5\u53e3":11,"\u7528\u6237\u9700\u8981\u5148\u5c06paddlepaddle\u5b89\u88c5\u5305\u4e0b\u8f7d\u5230\u672c\u5730":7,"\u7528\u6765\u505a\u9884\u6d4b\u548c\u7b80\u5355\u7684\u5b9a\u5236\u5316":6,"\u7528\u8fc7\u4e00\u6b21\u7684\u65f6\u5019":20,"\u7531\u4e8e\u6570\u636e\u662f\u4e24\u6761":23,"\u7531\u4e8edocker\u662f\u57fa\u4e8e\u5bb9\u5668\u7684\u8f7b\u91cf\u5316\u865a\u62df\u65b9\u6848":6,"\u7531\u4e8epaddlepaddle\u7684docker\u955c\u50cf\u5e76\u4e0d\u5305\u542b\u4efb\u4f55\u9884\u5b9a\u4e49\u7684\u8fd0\u884c\u547d\u4ee4":6,"\u7531\u6613\u5230\u96be\u5c55\u793a4\u79cd\u4e0d\u540c\u7684\u7f51\u7edc\u914d\u7f6e":10,"\u7684":10,"\u7684\u540d\u5b57":20,"\u7684\u5b89\u88c5\u6587\u6863":6,"\u7684\u60c5\u51b5\u4e0b\u8d8a\u5927\u8d8a\u597d":20,"\u7684\u6587\u6863":20,"\u7684\u65f6\u5019\u5982\u679c\u62a5\u4e00\u4e9b\u4f9d\u8d56\u672a\u627e\u5230\u7684\u9519\u8bef\u662f\u6b63\u5e38\u7684":7,"\u7684\u662f":20,"\u7684\u673a\u5668\u4e0a\u8fdb\u884c":0,"\u7684\u7f51\u6865\u6765\u8fdb\u884c\u7f51\u7edc\u901a\u4fe1":6,"\u7684demo\u5b66\u4e60\u5982\u4f55\u8fdb\u884c\u591a\u673a\u8bad\u7ec3":10,"\u7684docker\u53ef\u80fd\u7f3a\u4e4f":0,"\u7684matrix":23,"\u7684python\u5305\u662fpaddlepaddle\u7684\u8bad\u7ec3\u4e3b\u8981\u7a0b\u5e8f":6,"\u7684python\u5305\u6765\u505a\u914d\u7f6e\u6587\u4ef6\u89e3\u6790\u7b49\u5de5\u4f5c":6,"\u7684python\u9884\u6d4b\u8fc7\u7a0b":10,"\u76ee\u5f55":10,"\u76ee\u5f55\u4e0b":0,"\u76f4\u63a5\u63d0\u53d6\u51fa\u795e\u7ecf\u7f51\u7edcoutput\u5c42\u7684\u8f93\u51fa\u7ed3\u679c":23,"\u76f8\u5173\u547d\u4ee4\u4e3a":6,"\u76f8\u5173\u7684\u6982":20,"\u76f8\u5bf9\u4e8epaddlepaddle\u7a0b\u5e8f\u8fd0\u884c\u65f6\u7684\u8def\u5f84":19,"\u77e5\u9053\u5982\u4f55\u4ece":20,"\u793a":10,"\u7a0b\u5e8f\u6216\u8005\u81ea\u5b9a\u4e49\u4e00\u4e2a\u542b\u6709\u542f\u52a8\u811a\u672c\u7684imag":6,"\u7aef\u81ea\u5b9a\u4e49\u4e00\u4e2a":19,"\u7b2c\u4e00\u4e2a\u53c2\u6570\u662f":20,"\u7b2c\u4e00\u4e2apass\u4f1a\u4ecepython\u7aef\u8bfb\u53d6\u6570\u636e":20,"\u7b2c\u4e00\u6bb5\u6570\u636e\u4e3a\u8fd9\u5f20\u56fe\u7247\u7684label":20,"\u7b2c\u4e8c\u4e2a\u53c2\u6570\u662ffilenam":20,"\u7b2c\u4e8c\u6bb5\u6570\u636e\u4e3a\u8fd9\u4e2a\u56fe\u7247\u7684\u50cf\u7d20\u503c":20,"\u7b80\u5355\u4f18\u5316":0,"\u7b80\u5355\u7684\u4f7f\u7528":19,"\u7b80\u5355\u7684\u4f7f\u7528\u573a\u666f":19,"\u7b80\u5355\u7684\u4f7f\u7528\u6837\u4f8b\u4e3a":0,"\u7b80\u5355\u7684\u542b\u6709ssh\u7684dockerfile\u5982\u4e0b":6,"\u7b80\u5355\u7684pydataprovider\u6837\u4f8b\u5c31\u8bf4\u660e\u5b8c\u6bd5\u4e86":20,"\u7c7b\u522bid":10,"\u7c7b\u522bid\u7684\u6570\u636e\u7c7b\u578b":10,"\u7c7b\u578b\u6765\u8bbe\u7f6e":20,"\u7eb5\u5411\u5305\u62ec\u56db\u4e2a\u7248\u672c":6,"\u7ec3":13,"\u7ed3\u4e0a\u8ff0\u7f51\u7edc\u7ed3\u6784\u5728amazon":10,"\u7ee7\u7eed\u8bad\u7ec3":20,"\u7ef4\u5ea6\u4e3aword":10,"\u7ef4\u5ea6\u662f\u7c7b\u522b\u4e2a\u6570":10,"\u7ef4\u5ea6\u662f\u8bcd\u5178\u5927\u5c0f":10,"\u7f13\u5b58\u8bad\u7ec3\u6570\u636e\u5230\u5185\u5b58":20,"\u7f16\u8bd1\u53c2\u6570\u9009\u9879\u6587\u4ef6":18,"\u7f16\u8bd1\u73af\u5883\u548c\u6e90\u4ee3\u7801":6,"\u7f16\u8bd1\u9009\u9879":1,"\u7f16\u8bd1\u9009\u9879\u4e3b\u8981\u63a8\u8350\u9ad8\u7ea7\u7528\u6237\u67e5\u770b":5,"\u7f16\u8bd1\u9009\u9879\u5217\u8868\u5982\u4e0b":1,"\u7f16\u8bd1paddlepaddle\u7684gpu\u7248\u672c\u5e76\u4e0d\u9700\u8981\u4e00\u5b9a\u5728\u5177\u6709gpu":0,"\u7f51\u7edc\u540d\u79f0":10,"\u7f51\u7edc\u914d\u7f6e":10,"\u7f6e\u8fd9\u4e9b\u53d8\u91cf":1,"\u800c":6,"\u800c\u4e09\u79cd\u5e8f\u5217\u6a21\u5f0f\u4e3a":20,"\u800c\u4e0d\u4f7f\u7528docker":6,"\u800c\u4e0d\u7528\u5173\u5fc3\u6570\u636e\u5982\u4f55\u4f20\u8f93\u7ed9paddlepaddl":20,"\u800c\u4e14\u9884\u6d4b\u7f51\u7edc\u901a\u5e38\u76f4\u63a5\u8f93\u51fa\u6700\u540e\u4e00\u5c42\u7684\u7ed3\u679c\u800c\u4e0d\u662f\u50cf\u8bad\u7ec3\u65f6\u4e00\u6837\u4ee5cost":23,"\u800c\u5728":[1,20],"\u800c\u5982\u679c\u6309\u987a\u5e8f\u8c03\u7528\u8fd9\u4e9bgenerator\u5c31\u4e0d\u4f1a\u51fa\u73b0\u8fd9\u4e2a\u95ee\u9898":20,"\u800c\u662f\u5c06\u6837\u672c\u7684\u5730\u5740\u653e\u5165\u53e6\u4e00\u4e2a\u6587\u672c":20,"\u800c\u6ca1\u6709\u6d4b\u8bd5\u6570\u636e":20,"\u800c\u7279\u5f81\u5373\u4e3a":20,"\u800c\u8fd9\u4e2a\u4e00\u822c\u8bf4\u660epaddlepaddle\u5df2\u7ecf\u5b89\u88c5\u5b8c\u6bd5\u4e86":7,"\u800c\u8fd9\u4e2a\u53d8\u91cf\u63a8\u8350\u5927\u4e8e\u8bad\u7ec3\u7684batch":20,"\u800c\u8fd9\u4e2acontext\u53ef\u80fd\u4f1a\u975e\u5e38":20,"\u800c\u975e\u9759\u6001\u52a0\u8f7dcuda\u52a8\u6001\u5e93":1,"\u800cgpu\u7684\u9a71\u52a8\u548c\u8bbe\u5907\u5168\u90e8\u6620\u5c04\u5230\u4e86\u5bb9\u5668\u5185":6,"\u800cpaddlepaddle\u8fdb\u7a0b\u5e2e\u52a9\u7528\u6237\u505a\u4e86":20,"\u811a\u672c":6,"\u811a\u672c\u53ef\u4ee5\u542f\u52a8paddlepaddle\u7684\u8bad\u7ec3\u8fdb\u7a0b\u548cpserv":6,"\u811a\u672c\u548c":6,"\u811a\u672c\u7c7b\u4f3c\u4e8e":6,"\u81ea\u5b9a\u4e49\u4e00\u4e2adataprovid":19,"\u81f3\u5c11\u5177\u67093":6,"\u81f3\u6b64":[6,20],"\u83b7\u53d6\u5229\u7528one":10,"\u83b7\u53d6\u6bcf\u4e2a\u5355\u8bcd\u5de6\u53f3\u5404k\u4e2a\u8fd1\u90bb":10,"\u83b7\u53d6\u8be5\u6761\u6837\u672c\u7c7b\u522bid":10,"\u8868\u793a\u6574\u6570\u6807\u7b7e":20,"\u8868\u793a\u662f\u5426\u5141\u8bb8paddle\u6682\u5b58\u7565\u5fae\u591a\u4f59pool_size\u7684\u6570\u636e":20,"\u8868\u793a\u7a00\u758f\u7684\u5411\u91cf":20,"\u8868\u793a\u7a00\u758f\u7684\u96f6\u4e00\u5411\u91cf":20,"\u8868\u793a\u7a20\u5bc6\u7684\u6d6e\u70b9\u6570\u5411\u91cf":20,"\u8868\u793a\u8fc7\u4e8620\u4e2abatch":10,"\u8868\u793a\u8fc7\u4e862560\u4e2a\u6837\u672c":10,"\u8868\u793a\u8fd9\u4e2adataprovider\u662f\u8bad\u7ec3\u7528\u7684dataprovider\u6216\u8005\u6d4b\u8bd5\u7528\u7684":20,"\u89e3\u51b3\u529e\u6cd5\u662f\u5c06cuda":7,"\u89e3\u51b3\u65b9\u6cd5\u5f88\u7b80\u5355":7,"\u89e3\u6790\u8bad\u7ec3\u65f6\u7684\u914d\u7f6e\u6587\u4ef6":23,"\u89e3\u91ca":10,"\u8ba9\u795e\u7ecf\u7f51\u7edc\u53ef\u4ee5\u8fdb\u884c\u8bad\u7ec3":19,"\u8bad\u7ec3":6,"\u8bad\u7ec3\u6570\u636e\u975e\u5e38\u591a\u7684\u60c5\u51b5\u4e0b":20,"\u8bad\u7ec3\u6587\u4ef6\u5217\u8868":19,"\u8bad\u7ec3\u65f6\u6240\u9700\u8bbe\u7f6e\u7684\u4e3b\u8981\u53c2\u6570\u5982\u4e0b":10,"\u8bad\u7ec3\u7684\u65f6\u5019\u9ed8\u8ba4shuffl":20,"\u8bad\u7ec3\u811a\u672c":10,"\u8bad\u7ec3\u811a\u672c\u5728":10,"\u8bad\u7ec3\u8f6e\u6b21":10,"\u8bb2\u6570\u636e\u53d1\u9001\u7ed9paddlepaddl":20,"\u8bbe\u7f6e\u4e0b\u5217\u7f16\u8bd1\u9009\u9879\u65f6":1,"\u8bbe\u7f6e\u6210":20,"\u8bbe\u7f6e\u6210\u4e86\u5e8f\u5217":20,"\u8bbe\u7f6e\u6210true\u7684\u8bdd":20,"\u8bbe\u7f6e\u8f93\u5165\u7c7b\u578b":20,"\u8bc4\u4f30\u4ea7\u54c1\u7684\u8d28\u91cf":10,"\u8bcd\u6027\u6807\u6ce8":9,"\u8be5\u5c42\u795e\u7ecf\u5143\u4e2a\u6570":10,"\u8be5\u6570\u636e":20,"\u8be5\u6784\u5efa\u811a\u672c\u5145\u5206\u8003\u8651\u4e86\u7f51\u7edc\u4e0d\u7a33\u5b9a\u7684\u60c5\u51b5":0,"\u8be5\u6a21\u578b\u4f9d\u7136\u662f\u4f7f\u7528\u903b\u8f91\u56de\u5f52\u5206\u7c7b\u7f51\u7edc\u7684\u6846\u67b6":10,"\u8be5\u76ee\u5f55\u4e0b\u6709\u4e24\u4e2a\u6587\u4ef6":0,"\u8be5\u811a\u672c\u7684\u4f7f\u7528\u65b9\u6cd5\u662f":0,"\u8be5image\u57fa\u4e8eubuntu":0,"\u8be5image\u7684\u6784\u5efa\u5728dock":0,"\u8be6\u60c5\u8bf7\u53c2\u8003":23,"\u8be6\u7ec6\u7684\u53c2\u6570\u89e3\u91ca\u5982\u4e0b\u9762\u8868\u683c":10,"\u8be6\u7ec6\u7684\u547d\u4ee4\u884c\u53c2\u6570\u8bf7\u53c2\u8003":23,"\u8be6\u7ec6\u7684cmake\u4f7f\u7528\u65b9\u6cd5\u53ef\u4ee5\u53c2\u8003":1,"\u8bf4\u660e":1,"\u8bf4\u660e\u547d\u4ee4\u884c\u53c2\u6570":7,"\u8bf7\u53c2\u8003":[6,20],"\u8bf7\u53c2\u8003\u4e0b\u8282refer":20,"\u8bf7\u53c2\u8003\u4e0b\u8ff0\u6587\u7ae0":19,"\u8bf7\u5b89\u88c5cuda":7,"\u8bfb\u5165\u89e3\u6790\u8bad\u7ec3\u914d\u7f6e":23,"\u8bfb\u53d6\u6570\u636e":20,"\u8c03\u7528":1,"\u8c03\u7528\u4e00\u6b21":20,"\u8c03\u7528\u7b2c\u4e8c\u6b21\u7684\u65f6\u5019":20,"\u8d1f\u6837\u672c":10,"\u8d1f\u8d23\u591a\u673a\u8bad\u7ec3\u4e2d\u7684\u53c2\u6570\u805a\u5408\u5de5\u4f5c":13,"\u8d1f\u9762\u60c5\u7eea\u4e24\u7c7b":20,"\u8def\u5f84\u53d8\u91cf\u4e3a":1,"\u8f93\u5165n\u4e2a\u5355\u8bcd":10,"\u8f93\u51fa\u4e3an\u4e2aword":10,"\u8fd0\u884c":[6,7],"\u8fd0\u884c\u4f7f\u7528\u7684cudnn\u5c3d\u91cf\u662f\u540c\u4e00\u4e2a\u7248\u672c":1,"\u8fd0\u884c\u8fd9\u4e2acontain":6,"\u8fd0\u884cpaddlepaddle\u7684gpu\u7248\u672c\u4e00\u5b9a\u8981\u5728\u5177\u6709cuda\u7684\u673a\u5668\u4e0a\u8fd0\u884c":0,"\u8fd4\u56de0":20,"\u8fd4\u56de\u4e00\u4e2alist\u6216\u8005tupl":20,"\u8fd4\u56de\u6570\u636e\u5728paddlepaddle\u4e2d\u662f\u4ec5\u4ec5\u8fd4\u56de\u4e00\u6761\u5b8c\u6574\u7684\u8bad\u7ec3\u6837\u672c":20,"\u8fd4\u56de\u7684\u987a\u5e8f\u9700\u8981\u548c":20,"\u8fd4\u56debatch_size\u7684\u5927\u5c0f":20,"\u8fd9":10,"\u8fd93\u4e2a\u5b50\u6b65\u9aa4\u53ef\u914d\u7f6e\u4e3a":10,"\u8fd9\u4e2a\u4e5f\u662fpaddlepaddle\u6240\u80fd\u591f\u4fdd\u8bc1\u7684shuffle\u7c92\u5ea6":20,"\u8fd9\u4e2a\u51fd\u6570\u4ee5\u4e00\u6761\u6570\u636e\u4e3a\u53c2\u6570":20,"\u8fd9\u4e2a\u51fd\u6570\u4f1a\u5728":20,"\u8fd9\u4e2a\u51fd\u6570\u5728\u521d\u59cb\u5316\u7684\u65f6\u5019\u4f1a\u88ab\u8c03\u7528":20,"\u8fd9\u4e2a\u51fd\u6570\u7684\u53c2\u6570\u662f":20,"\u8fd9\u4e2a\u521d\u59cb\u5316\u51fd\u6570\u5177\u6709\u5982\u4e0b\u53c2\u6570":20,"\u8fd9\u4e2a\u53c2\u6570\u5728\u8fd9\u4e2a\u6837\u4f8b\u91cc\u6ca1\u6709\u4f7f\u7528":20,"\u8fd9\u4e2a\u53c2\u6570\u88abpaddlepaddle\u8fdb\u7a0b\u4f20\u5165":20,"\u8fd9\u4e2a\u548c\u5728":20,"\u8fd9\u4e2a\u58f0\u660e\u57fa\u672c\u4e0a\u548cmnist\u7684\u6837\u4f8b\u4e00\u81f4":20,"\u8fd9\u4e2a\u5b57\u5178\u53ef\u4ee5\u5728":20,"\u8fd9\u4e2a\u5bf9\u5e94\u5173\u7cfb\u53ef\u80fd\u4e0d\u6b63\u786e":20,"\u8fd9\u4e2a\u5bf9\u8c61\u548cprocess\u7684\u7b2c\u4e00\u4e2a\u53c2\u6570\u4e00\u81f4":20,"\u8fd9\u4e2a\u5de5\u5177\u7c7b\u63a5\u6536\u548cpydataprovider2\u4e00\u6837\u7684\u8f93\u5165\u6570\u636e":23,"\u8fd9\u4e2a\u5e8f\u5217\u6a21\u578b\u6bd4\u8f83\u590d\u6742":20,"\u8fd9\u4e2a\u63a5\u53e3\u5e76\u4e0d\u7528\u6237\u53cb\u597d":23,"\u8fd9\u4e2a\u663e\u793a\u5668\u5f88\u68d2":10,"\u8fd9\u4e2a\u672c\u8eab\u4e0d\u662f\u4e00\u4e2a\u5f88":20,"\u8fd9\u4e2a\u6a21\u5757\u4e2d\u7684":20,"\u8fd9\u4e2a\u8bbe\u7f6e\u4e3a":20,"\u8fd9\u4e2a\u8f6f\u4ef6\u5305\u6587\u6863\u76f8\u5bf9\u5b8c\u5584":23,"\u8fd9\u4e2a\u95ee\u9898\u662fpydataprovider\u8bfb\u6570\u636e\u65f6\u5019\u7684\u903b\u8f91\u95ee\u9898":20,"\u8fd9\u4e9b\u53c2\u6570\u5305\u62ecpaddle\u5b9a\u4e49\u7684\u53c2\u6570":20,"\u8fd9\u4e9b\u53d8":1,"\u8fd9\u4e9b\u53d8\u91cf\u53ea\u5728\u7b2c\u4e00\u6b21cmake\u7684\u65f6\u5019\u6709\u6548":1,"\u8fd9\u4e9b\u53d8\u91cf\u5747\u53ef\u4ee5\u4f7f\u7528":1,"\u8fd9\u4e9b\u6d41\u7a0b\u4e2d\u7684\u6570\u636e\u4e0b\u8f7d":10,"\u8fd9\u6837\u505a\u53ef\u4ee5\u907f\u514d\u5f88\u591a\u6b7b\u9501\u95ee\u9898":20,"\u8fd9\u884c\u7684\u4f5c\u7528\u662f\u8bbe\u7f6edataprovider\u7684\u4e00\u4e9b\u5c5e\u6027":20,"\u8fd9\u91cc":20,"\u8fd9\u91cc\u4e3e\u4f8b\u7684\u6570\u636e\u662f\u82f1\u6587\u60c5\u611f\u5206\u7c7b\u7684\u6570\u636e":20,"\u8fd9\u91cc\u4ee5":10,"\u8fd9\u91cc\u4ee5mnist\u624b\u5199\u8bc6\u522b\u4e3a\u4f8b":20,"\u8fd9\u91cc\u53ef\u4ee5\u53c2\u8003paddle\u7684":18,"\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528\u7b80\u5355\u7684\u6587\u672c\u6587\u4ef6\u8868\u793amnist\u56fe\u7247":20,"\u8fd9\u91cc\u6307\u5b9a\u8bcd\u5178":10,"\u8fd9\u91cc\u6ca1\u6709\u4ecb\u7ecd\u591a\u673a\u5206\u5e03\u5f0f\u8bad\u7ec3":10,"\u8fd9\u91cc\u7684":20,"\u8fd9\u91cc\u7684\u8f93\u5165\u7279\u5f81\u662f\u8bcdid\u7684\u5e8f\u5217":20,"\u8fd9\u91cc\u8981\u6ce8\u610f\u9884\u6d4b\u6570\u636e\u901a\u5e38":23,"\u8fd9\u91cc\u8bbe\u7f6e\u7684\u662f\u8fd4\u56de\u4e00\u4e2a":20,"\u8fd9\u91cc\u8bf4\u660e\u4e86\u8bad\u7ec3\u6570\u636e\u662f":20,"\u8fd9\u91cc\u91c7\u7528adam\u4f18\u5316\u65b9\u6cd5":10,"\u8fdb\u5165\u8be5\u6e90\u7801\u76ee\u5f55":0,"\u8fdb\u5165docker":6,"\u8fdc\u7a0b\u8bbf\u95ee":6,"\u8fde\u63a5\u8bf7\u53c2\u8003":10,"\u9009\u62e9\u666e\u901acpu\u7248\u672c\u7684devel\u7248\u672c\u7684imag":6,"\u9009\u9879":1,"\u901a\u8fc7\u7f16\u8bd1\u65f6\u6307\u5b9a\u8def\u5f84\u6765\u5b9e\u73b0\u5f15\u7528\u5404\u79cdbla":1,"\u903b\u8f91\u56de\u5f52":10,"\u90a3\u4e48":20,"\u90a3\u4e48\u5728\u8bad\u7ec3\u8fc7\u7a0b\u4e2d":19,"\u90a3\u4e48\u5bf9\u5e94\u7684dataprovider\u65e2\u4e3a":20,"\u90a3\u4e48\u8fd9\u4e2a\u4e0b\u8f7d\u7ebf\u7a0b\u5c06\u4f1a\u5173\u95ed":0,"\u90a3\u4e48paddlepaddle\u4f1a\u7c97\u7565\u7684\u6839\u636elayer\u7684\u58f0\u660e\u987a\u5e8f":20,"\u90fd\u4f20\u9012\u7ed9process\u51fd\u6570":20,"\u914d\u7f6e\u4e86":20,"\u914d\u7f6e\u53c2\u6570\u914d\u7f6e\u7ed9dataprovider\u7684":20,"\u914d\u7f6e\u6587\u4ef6":10,"\u91cc\u4f1a\u7ee7\u7eed\u5b89\u88c5":7,"\u91cc\u63d0\u4f9b\u4e86\u6570\u636e\u4e0b\u8f7d\u811a\u672c":10,"\u91cc\u9762\u8bfb\u53d6":20,"\u91cf\u4e5f\u53ef\u4ee5\u901a\u8fc7\u8c03\u7528cmake\u547d\u4ee4\u524d\u901a\u8fc7\u73af\u5883\u53d8\u91cf\u6307\u5b9a":1,"\u9488\u5bf9\u672c\u95ee\u9898":10,"\u94fe\u63a5\u4f55\u79cdblas\u7b49\u7b49":1,"\u9519\u8bef\u7387":10,"\u95f4\u9694":20,"\u9664\u4e86":20,"\u9664\u8fc7data\u5c42":10,"\u9700\u8981\u53c2\u8003":6,"\u9700\u8981\u652f\u6301avx\u6307\u4ee4\u96c6\u7684cpu":6,"\u9700\u8981\u6ce8\u610f":20,"\u9700\u8981\u6ce8\u610f\u7684\u662f":[1,7],"\u9884\u6d4b\u6570\u636e\u6307\u5b9atest":10,"\u9884\u6d4b\u7ed3\u679c\u4ee5\u6587\u672c\u7684\u5f62\u5f0f\u4fdd\u5b58\u5728":10,"\u9884\u6d4b\u811a\u672c":10,"\u9884\u6d4bid":10,"\u989d\u5916\u7684\u53c2\u6570":10,"\u9996\u5148\u5217\u4e3e\u903b\u8f91\u56de\u5f52\u7f51\u7edc":10,"\u9996\u5148\u6211\u4eec\u5c06\u8fd9\u4e2a\u6570\u636e\u6587\u4ef6":20,"\u9996\u5148\u8bf7\u53c2\u8003":10,"\u9aa43":10,"\u9ed8\u8ba4\u4e00\u4e2apass\u4fdd\u5b58\u4e00\u6b21\u6a21\u578b":10,"\u9ed8\u8ba4\u503c":1,"\u9ed8\u8ba4\u5355\u4f4d\u662fbyte":0,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u4e00\u6761\u6570\u636e":20,"adamax\u7b49":10,"amazon\u7535\u5b50\u4ea7\u54c1\u8bc4\u8bba\u6570\u636e":10,"api\u9884\u6d4b":10,"argument\u4f20\u5165":20,"argument\u5f62\u5f0f\u4f20\u5165":20,"atlas\u5e93\u7684\u8def\u5f84":1,"batches\u8bbe\u7f6e\u6bcf\u9694\u591a\u5c11batch\u4fdd\u5b58\u4e00\u6b21\u6a21\u578b":10,"bool\u53c2\u6570":20,"case":[10,22],"cd\u5230\u542b\u6709dockerfile\u7684\u8def\u5f84\u4e2d":6,"check\u662ffalse\u7684\u8bdd":20,"cmake\u53ef\u4ee5\u5c06cmake\u9879\u76ee\u6587\u4ef6":1,"cmake\u662f\u4e00\u4e2a\u8de8\u5e73\u53f0\u7684\u7f16\u8bd1\u811a\u672c":1,"cmake\u7684\u5b98\u65b9\u6587\u6863":1,"cmake\u7f16\u8bd1\u65f6\u4f1a\u9996\u5148\u5728\u7cfb\u7edf\u8def\u5f84":1,"container\u540e":6,"cpu\u7248\u672c":6,"cuda\u76f8\u5173\u7684driver\u548c\u8bbe\u5907\u6620\u5c04\u8fdbcontainer\u4e2d":6,"d\u547d\u4ee4\u5373\u53ef":1,"d\u547d\u4ee4\u6307\u5b9a":1,"dataprovider\u521b\u5efa\u7684\u65f6\u5019\u6267\u884c":20,"dataprovider\u53ef\u4ee5\u662f":20,"dataprovider\u63d0\u4f9b\u4e86\u4e24\u79cd\u7b80\u5355\u7684cache\u7b56\u7565":20,"dataprovider\u7684\u5177\u4f53\u7528\u6cd5\u548c\u5982\u4f55\u5b9e\u73b0\u4e00\u4e2a\u65b0\u7684dataprovid":19,"devel\u548cdemo":6,"dim\u7684\u65b0\u7684\u5411\u91cf":10,"dim\u7ef4\u5ea6\u5411\u91cf":10,"docker\u662f\u4e00\u4e2a\u57fa\u4e8e\u5bb9\u5668\u7684\u8f7b\u91cf\u7ea7\u865a\u62df\u73af\u5883":6,"docker\u7684\u5b98\u65b9\u6587\u6863":6,"dockerfile\u548cbuild":0,"dockerfile\u662fdock":0,"dockerfile\u7684\u6587\u6863":6,"dockerfile\u7684\u6700\u4f73\u5b9e\u8df5":6,"driver\u6dfb\u52a0\u5230ld_library_path\u4e2d":7,"elec\u6d4b\u8bd5\u96c6":10,"embedding\u6a21\u578b\u9700\u8981\u7a0d\u5fae\u6539\u53d8\u6570\u636e\u63d0\u4f9b\u7684\u811a\u672c":10,"export":[1,6,7],"f\u4ee3\u8868\u4e00\u4e2a\u6d6e\u70b9\u6570":20,"float":20,"generator\u4fbf\u4f1a\u5b58\u4e0b\u5f53\u524d\u7684\u4e0a\u4e0b\u6587":20,"generator\u7684\u4e0a\u4e0b\u6587\u4e2d\u5c3d\u91cf\u7559":20,"generator\u81f3\u5c11\u8c03\u7528\u4e24\u6b21\u624d\u4f1a\u77e5\u9053\u662f\u5426\u505c\u6b62":20,"gpu\u53cc\u7f13\u5b58":20,"gpu\u7248\u672c":6,"gpu\u7248\u672c\u4e8c\u8fdb\u5236":1,"gru\u6a21\u578b":10,"gru\u6a21\u578b\u914d\u7f6e":10,"i\u4ee3\u8868\u4e00\u4e2a\u6574\u6570":20,"id\u4e3a0\u7684\u6982\u7387":10,"id\u4e3a1\u7684\u6982\u7387":10,"image\u6784\u5efa\u6e90\u7801\u653e\u7f6e\u5728":0,"image\u7684\u4e3b\u8981\u63cf\u8ff0\u6587\u4ef6":0,"image\u7684\u4e3b\u8981\u6784\u5efa\u6b65\u9aa4":0,"image\u7684\u6784\u5efa\u6b65\u9aa4":0,"import":[10,20,23],"include\u4e0b\u9700\u8981\u5305\u542bcbla":1,"include\u4e0b\u9700\u8981\u5305\u542bmkl":1,"init_hook\u53ef\u4ee5\u4f20\u5165\u4e00\u4e2a\u51fd\u6570":20,"int":[10,20],"key\u662fdata_layer\u7684\u540d\u5b57":20,"layer\u4f5c\u4e3a\u8f93\u51fa":23,"layer\u6587\u6863":10,"ld_library_path\u7b49\u7b49":7,"ld_library_path\u91cc\u9762\u627e\u4e0d\u5230\u8fd9\u4e9b\u52a8\u6001":7,"lib\u4e0b\u9700\u8981\u5305\u542bcblas\u548catlas\u4e24\u4e2a\u5e93":1,"lib\u4e0b\u9700\u8981\u5305\u542bcblas\u5e93":1,"lib\u4e0b\u9700\u8981\u5305\u542bopenblas\u5e93":1,"lib\u76ee\u5f55\u4e0b\u9700\u8981\u5305\u542b":1,"list\u4e0d\u8bbe\u7f6e":19,"list\u4e2d":[19,20],"list\u4e2d\u7684\u4e00\u884c":20,"list\u4e2d\u7684\u6bcf\u4e00\u884c":20,"list\u4e3a\u7eaf\u6587\u672c\u6587\u4ef6":19,"list\u4e5f\u53ef\u4ee5\u653e\u7f6ehdfs\u6587\u4ef6\u8def\u5f84":19,"list\u5199\u5165\u90a3\u4e2a\u6587\u672c\u6587\u4ef6\u7684\u5730\u5740":20,"list\u5373\u4e3a":20,"list\u548ctest":19,"list\u5747\u4e3a\u672c\u5730\u7684\u4e24\u4e2a\u6587\u4ef6":19,"list\u6307\u5b9a\u7684\u6570\u636e":10,"list\u7684\u4f4d\u7f6e":10,"list\u82e5\u5e72\u6570\u636e\u6587\u4ef6\u8def\u5f84\u7684\u67d0\u4e00\u4e2a\u8def\u5f84":20,"lstm\u6a21\u578b\u7b49":10,"lstm\u6a21\u578b\u914d\u7f6e":10,"make\u548cmak":2,"mkl\u7684\u8def\u5f84":1,"mkl_sequential\u548cmkl_intel_lp64\u4e09\u4e2a\u5e93":1,"mnist\u662f\u4e00\u4e2a\u5305\u542b\u6709":20,"movielens\u6570\u636e\u96c6":9,"movielens\u8bc4\u5206\u56de\u5f52":9,"name\u90fd\u662f":6,"osx\u6216\u8005\u662fwindows\u673a\u5668":6,"osx\u7684\u5b89\u88c5\u6587\u6863":6,"paddle\u5b9a\u4e49\u7684\u53c2\u6570\u5305\u62ec":20,"paddle\u7684":7,"paddlepaddle\u4f7f\u7528\u8fd0\u884c\u65f6\u52a8\u6001\u8fde\u63a5cuda\u7684so":7,"paddlepaddle\u4fdd\u7559\u6dfb\u52a0\u53c2\u6570\u7684\u6743\u529b":20,"paddlepaddle\u53ef\u4ee5\u4f7f\u7528":1,"paddlepaddle\u53ef\u4ee5\u8bfb\u53d6python\u5199\u7684\u4f20\u8f93\u6570\u636e\u811a\u672c":10,"paddlepaddle\u5728\u8fd0\u884c\u65f6\u627e\u4e0d\u5230\u5bf9\u5e94\u7684config\u6587\u4ef6":7,"paddlepaddle\u5c06train":20,"paddlepaddle\u63a8\u8350\u4f7f\u7528docker\u8fdb\u884cpaddlepaddle\u7684\u90e8\u7f72\u548c":6,"paddlepaddle\u63d0\u4f9b\u4e86docker\u7684\u4f7f\u7528\u955c\u50cf":6,"paddlepaddle\u63d0\u4f9b\u6570\u4e2a\u9884\u7f16\u8bd1\u7684\u4e8c\u8fdb\u5236\u6765\u8fdb\u884c\u5b89\u88c5":5,"paddlepaddle\u63d0\u4f9b\u7684\u955c\u50cf\u5e76\u4e0d\u5305\u542b\u4efb\u4f55\u547d\u4ee4\u8fd0\u884c":6,"paddlepaddle\u7684\u6570\u636e\u5305\u62ec\u56db\u79cd\u4e3b\u8981\u7c7b\u578b":20,"paddlepaddle\u7684\u7f16\u8bd1\u9009\u9879\u53ef\u4ee5\u5728\u8c03\u7528cmake\u7684\u65f6\u5019\u8bbe\u7f6e":1,"paddlepaddle\u7684\u7f16\u8bd1\u9009\u9879\u662f\u53ef\u4ee5\u63a7\u5236paddlepaddle\u751f\u6210cpu":1,"paddlepaddle\u7684dock":0,"paddlepaddle\u7684python\u9884\u6d4b\u63a5\u53e3":22,"paddlepaddle\u7684ubuntu\u5b89\u88c5\u5305\u5206\u4e3a\u56db\u4e2a\u7248\u672c":7,"paddlepaddle\u76ee\u524d\u4f7f\u7528swig\u5bf9\u5176\u5e38\u7528\u7684\u9884\u6d4b\u63a5\u53e3\u8fdb\u884c\u4e86\u5c01\u88c5":23,"paddlepaddle\u76ee\u524d\u652f\u6301\u4f7f\u7528deb\u5305\u5b89\u88c5":7,"paddlepaddle\u8fd0\u884c\u65f6\u5982\u679c\u6ca1\u6709\u5bfb\u627e\u5230cuda\u7684driv":7,"paddlepaddle\u9700\u8981\u7528\u6237\u5728\u7f51\u7edc\u914d\u7f6e":19,"period\u8bbe\u7f6e\u6253\u5370\u53c2\u6570\u4fe1\u606f\u7b49":10,"process\u51fd\u6570":20,"process\u51fd\u6570\u662f\u5b9e\u73b0\u6570\u636e\u8f93\u5165\u7684\u4e3b\u51fd\u6570":20,"process\u51fd\u6570\u8c03\u7528\u591a\u6b21":20,"pserver\u4e3apaddlepaddle\u7684paramet":13,"pserver\u7684\u547d\u4ee4\u884c\u53c2\u6570":13,"pserver\u7ec4\u5408\u4f7f\u7528":13,"py\u6587\u4ef6\u7ed9\u51fa\u4e86\u5b8c\u6574\u4f8b\u5b50":10,"pydataprovider2\u4f1a\u5c3d\u91cf\u4f7f\u7528\u5185\u5b58":20,"pydataprovider2\u6587\u6863":23,"pydataprovider2\u7684\u4f7f\u7528":19,"pydataprovider\u662fpaddlepaddle\u4f7f\u7528python\u63d0\u4f9b\u6570\u636e\u7684\u63a8\u8350\u63a5\u53e3":20,"python\u5305":6,"python\u53ef\u4ee5\u89e3\u9664\u6389\u5185\u90e8\u53d8\u91cf\u7684\u5f15\u7528":20,"python\u7684":6,"python\u7684swig\u63a5\u53e3\u53ef\u4ee5\u65b9\u4fbf\u8fdb\u884c\u9884\u6d4b\u548c\u5b9a\u5236\u5316\u8bad\u7ec3":1,"return":[10,20],"rnn\u914d\u7f6e":11,"server\u8fdb\u7a0b":13,"sh\u662fdocker":0,"shuffle\u8bad\u7ec3\u6570\u636e":20,"softmax\u8f93\u51fa":10,"string\u7684\u683c\u5f0f\u6253\u5370\u51fa\u6765":13,"swig_paddle\u63a5\u53d7\u7684\u539f\u59cb\u6570\u636e\u662fc":23,"tag\u5206\u522b\u4e3a":6,"train\u5373\u4e3apaddlepaddle\u7684\u8bad\u7ec3\u8fdb\u7a0b":13,"train\u5b8c\u6210\u5355\u673a\u591a\u663e\u5361\u591a\u7ebf\u7a0b\u7684\u8bad":13,"train\u7684\u547d\u4ee4\u884c\u53c2\u6570":13,"ubuntu\u7684deb\u5b89\u88c5\u5305\u7b49":5,"v2\u4e4b\u540e\u7684\u4efb\u4f55\u4e00\u4e2acudnn\u7248\u672c\u6765\u7f16\u8bd1\u8fd0\u884c":1,"value\u5373\u4e3asoftmax\u5c42\u7684\u8f93\u51fa":23,"value\u662f\u7279\u5f81\u503c":20,"var":6,"vector\u8868\u793a\u7684\u6bcf\u4e2a\u5355\u8bcd":10,"version\u53ef\u4ee5\u6253\u5370\u51fapaddle\u7684\u7248\u672c\u4fe1\u606f\u548c\u7f16\u8bd1\u7684\u9009\u9879":18,"version\u53ef\u4ee5\u6253\u5370\u51fapaddlepaddle\u7684\u7248\u672c\u548c\u7f16\u8bd1\u65f6\u4fe1\u606f":13,"version\u7684\u547d\u4ee4\u884c\u53c2\u6570":13,"yield\u6587\u672c\u4fe1\u606f\u548c\u7c7b\u522bid":10,__main__:23,__name__:23,abov:20,act:10,act_typ:10,activ:10,adadelta:10,adagrad:10,adam:10,adamoptim:10,afi:20,all:20,allow:10,alreadi:7,also:10,append:20,apt:[6,7],arg:[0,10,20],around:20,arrai:23,assert:23,atla:1,atlas_root:1,avg:10,avgcost:10,avgpool:10,avx:6,bag:10,baidu:[6,7],batch:10,batch_siz:10,binari:10,bla:1,bool:10,both:10,bow:10,build:[0,6],cach:[10,19],cache_pass_in_mem:[10,20],cachetyp:[10,20],calc_batch_s:20,call:10,can:10,can_over_batch_s:20,cat:6,categori:10,check:[7,20],check_fail_continu:20,chines:9,chpasswd:6,classif:10,classification_cost:10,classification_error_evalu:10,close:20,cmake:1,cmd:6,cnn:10,code:[0,20,23],com:[6,7],comment:10,compil:[7,18],conf:23,config:[7,10],config_arg:10,config_pars:23,connect:10,contain:[10,20],context:20,context_len:10,context_start:10,convert:[10,20,23],couldn:7,cpp:[7,10],cpu:[6,7,20],cpuinfo:6,createfromconfigproto:23,cross:10,cuda_so:6,cudastat:7,cudasuccess:7,cudnn:1,cudnn_root:1,cudnnv5:1,current:[10,20],currentcost:10,currentev:10,dalla:20,data:7,data_config:23,data_initialz:10,data_lay:[10,20],dataprovid:10,dataprovider_bow:10,dataprovider_emb:10,dataproviderconvert:23,dataset:10,deb:7,debian:7,decor:20,def:[10,20,23],defin:[10,20],define_py_data_sources2:[10,20],delar:10,demo:[6,10],dense_vector:[20,23],describ:10,descript:22,detail:22,dev:6,devel:6,devic:6,devices:6,dict:[10,20],dict_fil:10,dictionai:10,dictionari:[10,20],dictrionari:10,differ:10,dim:10,dimens:10,dir:10,doc:23,documentari:20,dpkg:7,driver:7,dso_handl:7,dtype:23,dump_config:13,dure:[10,20],dynam:20,each:[10,20],each_pixel_str:20,each_word:20,echo:6,either:10,els:[6,10],emb:10,embed:9,embedding_lay:10,entropi:10,enumer:10,error:[7,10],etc:6,eval:10,exampl:10,expose:6,f0831:7,fail:7,fals:10,fc_layer:10,featur:[10,20],festiv:20,file:[10,20],file_list:20,file_nam:10,filenam:20,fill:10,find:7,first:10,float32:23,fly:10,forwardtest:23,framework:10,from:[6,10,20,23],fulli:10,func:20,gdebi:7,gener:[10,20],get:[6,7,10,20],get_config_arg:10,get_data:10,github:7,give:20,given:10,globe:20,gpu:[6,7],gradient_clipping_threshold:10,gradientmachin:23,grep:6,gru:10,gru_siz:10,help:23,hint:23,hl_cuda_devic:7,hl_dso_load:7,host:6,hot:10,hous:20,http:7,ignor:20,imag:6,imagenet:9,img:20,inarg:23,includ:10,init:10,init_hook:[10,19],init_model_path:10,initi:[10,20],initpaddl:23,input:[10,20],input_typ:[10,19],instal:2,insuffici:7,integ:[10,20],integer_sequ:20,integer_valu:[10,20],integer_value_sequ:10,invok:20,is_predict:10,is_train:20,isinst:23,iterat:20,job:10,kernel:6,kwarg:[10,20],l2regular:10,label:[10,20],label_dim:10,lake:20,later:10,latest:[0,6],layer:10,ld_library_path:7,learning_method:10,learning_r:10,len:[10,20],lib64:[6,7],lib:1,libcuda:6,libnvidia:6,librari:7,list:[10,19,20],load_data_arg:23,loadparamet:23,local:[1,7],log_period:10,logger:20,look:[10,20],loss:10,lowest_dl_speed:0,lstm:10,lstm_size:10,mac:6,main:23,maintainer:6,make:[7,20],make_diagram:13,maxid:10,maxid_lay:10,mean:10,memori:10,merge_model:13,method:20,min_pool_s:20,mkdir:6,mkl:1,mkl_core:1,mkl_root:1,mnist:20,mnist_model:23,mnist_provid:20,mnist_train:20,model_config:23,modul:[10,20],momentum:10,movi:20,must:7,name:[6,10,20],necessari:10,need:10,neg:[10,20],net:6,next:20,no_cache:20,no_sequence:20,noavx:[6,7],none:[10,20,23],normal:6,note:7,nullptr:7,num:10,num_pass:10,nvidia:6,obj:[10,20],object:[10,20],off:[0,1,7,18],omit:10,on_init:20,onli:10,open:[10,20],openbla:1,openblas_root:1,openssh:6,opt:1,other:10,outlin:22,output:10,outsid:20,paddl:[0,6,7,10,13],paddle_gpu:0,paddle_ssh:6,paddle_ssh_machin:6,paddledev:6,paddlepaddl:[6,7,18,23],paramet:10,parse_config:23,pass:[10,20],path:[7,10],period:10,permitrootlogin:6,pixel:20,pixels_float:20,pixels_str:20,place:20,pleas:7,pool_siz:20,pooling_lay:10,pooling_typ:10,posit:[10,20],pred:10,predict_output_dir:10,predict_sampl:23,preprocess:10,print:23,proc:6,process:[10,20],process_pr:10,properli:10,pull:6,put:10,py_paddl:[6,23],pydataprovid:19,pydataprovider2:[10,20,23],pydataproviderwrapp:10,python:10,quick_start:10,rang:10,rank:10,rare:20,read:[10,20],real_process:20,refer:19,reference_cblas_root:1,reffer:1,regular:10,releas:7,repres:10,represent:10,resnet:9,result:[10,20],rmsprop:10,roce:6,root:6,run:6,runtim:[7,20],same:[10,20],sampl:[10,20],save:[10,20],save_dir:10,saw:20,sbin:6,script:0,second:10,sed:6,see:10,sentenc:20,sentiment:20,sentimental_provid:20,separ:10,seq_typ:20,sequel:20,sequence:20,sequence_conv_pool:10,sequencetyp:20,server:6,set:[10,20],setup:10,should_shuffl:20,simple_gru:10,simple_lstm:10,size:[10,20],softmax:10,softmaxactiv:10,sourc:10,spars:10,sparse_binary_vector:[10,20],sparse_float_vector:20,specifi:[7,10],split:[10,20],src_root:23,ssh:6,sshd:6,sshd_config:6,stat:10,stop:6,store:10,string:20,strip:10,structur:10,stun:20,sub_sequence:20,sudo:7,support:6,sure:7,swig_paddl:23,tag:0,take:20,tbd:21,team:6,test:[10,19],test_data:23,test_list:[10,20],text:[10,20],text_conv:10,them:10,thi:[10,20],thing:20,tmp:20,train:7,train_list:[10,20],trainer:[10,20,23],trainer_config:[10,19,20,23],trainer_config_help:[10,20],trainerintern:10,trainermain:7,travel:20,trn:10,tst:10,two:10,txt:[10,20],type:[10,20],unk_idx:10,updat:6,use:[10,22],use_dynamic_ord:20,use_gpu:[10,23],usepam:6,user:10,usr:[1,6,7],valid:7,valu:[10,20,23],version:[6,7],via:7,want:20,what:10,when:20,which:10,whole:20,wilder:20,window:6,with_avx:[1,7,18],with_doc:1,with_doc_cn:1,with_doubl:[7,18],with_double:1,with_dso:1,with_gflag:[7,18],with_gflags:1,with_glog:[1,7,18],with_gpu:[0,1,7,18],with_metric_learn:[7,18],with_predict_sdk:[7,18],with_python:[1,7,18],with_rdma:[1,7,18],with_style_check:1,with_swig_py:1,with_testing:1,with_tim:[7,18],with_timer:1,without:6,wonder:20,word:9,word_dict:10,word_dim:10,word_id:20,word_vector:10,xarg:6,yield:[10,20],you:[7,20],your_host_machine:6},titles:["\u6784\u5efaPaddlePaddle Docker Image","\u8bbe\u7f6ePaddlePaddle\u7684\u7f16\u8bd1\u9009\u9879","\u4f7f\u7528cmake\u7f16\u8bd1PaddlePaddle","\u5b89\u88c5\u7f16\u8bd1PaddlePaddle\u9700\u8981\u7684\u4f9d\u8d56","make\u548cmake install","\u7f16\u8bd1\u4e0e\u5b89\u88c5","\u5b89\u88c5PaddlePaddle\u7684Docker\u955c\u50cf","\u4f7f\u7528deb\u5305\u5728Ubuntu\u4e0a\u5b89\u88c5PaddlePaddle","\u96c6\u7fa4\u8bad\u7ec3","\u4f7f\u7528\u793a\u4f8b","PaddlePaddle\u5feb\u901f\u5165\u95e8\u6559\u7a0b","PaddlePaddle\u6587\u6863","<no title>","\u547d\u4ee4\u884c\u53c2\u6570","<no title>","<no title>","paddle pserver\u7684\u547d\u4ee4\u884c\u53c2\u6570","paddle train\u7684\u547d\u4ee4\u884c\u53c2\u6570","paddle version\u7684\u547d\u4ee4\u884c\u53c2\u6570","PaddlePaddle\u7684\u6570\u636e\u63d0\u4f9b(DataProvider)\u4ecb\u7ecd","PyDataProvider2\u7684\u4f7f\u7528","\u81ea\u5b9a\u4e49\u4e00\u4e2aDataProvider","\u7528\u6237\u63a5\u53e3","PaddlePaddle\u7684Python\u9884\u6d4b\u63a5\u53e3"],titleterms:{"\u4e0b\u8f7d\u548c\u8fd0\u884cdocker\u955c\u50cf":6,"\u4ecb\u7ecd":19,"\u4f18\u5316\u7b97\u6cd5":10,"\u4f7f\u7528\u6307\u5357":11,"\u4f7f\u7528\u6982\u8ff0":10,"\u4f7f\u7528\u793a\u4f8b":9,"\u4f7f\u7528\u811a\u672c\u6784\u5efapaddlepaddl":0,"\u4f7f\u7528cmake\u7f16\u8bd1paddlepaddl":2,"\u4f7f\u7528deb\u5305\u5728ubuntu\u4e0a\u5b89\u88c5paddlepaddl":7,"\u5185\u5b58\u4e0d\u591f\u7528\u7684\u60c5\u51b5":20,"\u5377\u79ef\u6a21\u578b":10,"\u53c2\u8003":20,"\u53ef\u80fd\u7684\u5185\u5b58\u6cc4\u9732\u95ee\u9898":20,"\u53ef\u80fd\u9047\u5230\u7684\u95ee\u9898":7,"\u547d\u4ee4\u884c\u53c2\u6570":[10,13,22],"\u56fe\u50cf":9,"\u5b89\u88c5":[5,10],"\u5b89\u88c5\u7f16\u8bd1paddlepaddle\u9700\u8981\u7684\u4f9d\u8d56":3,"\u5b89\u88c5paddlepaddle\u7684docker\u955c\u50cf":6,"\u5e38\u7528\u6a21\u578b":9,"\u5e8f\u5217\u6a21\u578b\u6570\u636e\u63d0\u4f9b":20,"\u5f00\u53d1\u6307\u5357":11,"\u6027\u80fd\u95ee\u9898":6,"\u603b\u4f53\u6548\u679c\u603b\u7ed3":10,"\u63a8\u8350":9,"\u6570\u636e\u5411\u6a21\u578b\u4f20\u9001":10,"\u6570\u636e\u63d0\u4f9b":22,"\u6570\u636e\u683c\u5f0f\u51c6\u5907":10,"\u65f6\u5e8f\u6a21\u578b":10,"\u6784\u5efapaddlepaddl":0,"\u6ce8\u610f\u4e8b\u9879":[6,20],"\u7528\u6237\u63a5\u53e3":22,"\u7b80\u5355\u7684\u4f7f\u7528\u573a\u666f":20,"\u7b97\u6cd5\u6559\u7a0b":11,"\u7f16\u8bd1":5,"\u7f16\u8bd1\u4e0e\u5b89\u88c5":5,"\u7f51\u7edc\u7ed3\u6784":10,"\u81ea\u5b9a\u4e49\u4e00\u4e2adataprovid":21,"\u81ea\u7136\u8bed\u8a00\u5904\u7406":9,"\u8bad\u7ec3\u6a21\u578b":10,"\u8bbe\u7f6epaddlepaddle\u7684\u7f16\u8bd1\u9009\u9879":1,"\u8bcd\u5411\u91cf\u6a21\u578b":10,"\u8f93\u51fa\u65e5\u5fd7":10,"\u8fdc\u7a0b\u8bbf\u95ee\u95ee\u9898\u548c\u4e8c\u6b21\u5f00\u53d1":6,"\u903b\u8f91\u56de\u5f52\u6a21\u578b":10,"\u914d\u7f6e\u4e2d\u7684\u6570\u636e\u52a0\u8f7d\u5b9a\u4e49":10,"\u9644\u5f55":10,"\u96c6\u7fa4\u8bad\u7ec3":8,"\u9884\u6d4b":[10,22],"blas\u76f8\u5173\u7684\u7f16\u8bd1\u9009\u9879":1,"bool\u578b\u7684\u7f16\u8bd1\u9009\u9879":1,"config\u6587\u4ef6\u627e\u4e0d\u5230":7,"cudnn\u76f8\u5173\u7684\u7f16\u8bd1\u9009\u9879":1,"driver\u627e\u4e0d\u5230":7,"make\u548cmak":4,"paddlepaddle\u5feb\u901f\u5165\u95e8\u6559\u7a0b":10,"paddlepaddle\u63d0\u4f9b\u7684docker\u955c\u50cf\u7248\u672c":6,"paddlepaddle\u6587\u6863":11,"paddlepaddle\u7684\u6570\u636e\u63d0\u4f9b":19,"paddlepaddle\u7684\u7f16\u8bd1\u9009\u9879":1,"paddlepaddle\u7684bool\u578b\u7f16\u8bd1\u9009\u9879":1,"paddlepaddle\u7684cblas\u7f16\u8bd1\u9009\u9879":1,"paddlepaddle\u7684python\u9884\u6d4b\u63a5\u53e3":23,"pserver\u7684\u547d\u4ee4\u884c\u53c2\u6570":16,"pydataprovider2\u7684\u4f7f\u7528":20,"python\u6570\u636e\u52a0\u8f7d\u811a\u672c":10,"so\u627e\u4e0d\u5230":7,"train\u7684\u547d\u4ee4\u884c\u53c2\u6570":17,"version\u7684\u547d\u4ee4\u884c\u53c2\u6570":18,algorithm:10,appendix:10,architectur:10,argument:10,cach:20,command:10,configur:10,convolut:10,cuda:[1,7],data:10,dataprovid:19,docker:0,image:0,init_hook:20,input_typ:20,instal:4,install:10,libcudart:7,libcudnn:7,line:10,log:10,logist:10,model:10,network:10,optimiz:10,overview:10,paddl:[16,17,18],predict:10,prepar:10,provid:[10,20],refer:20,regress:10,script:10,sequenc:10,summari:10,time:10,train:10,transfer:10,vector:10,word:10}}) \ No newline at end of file +Search.setIndex({envversion:49,filenames:["algorithm/rnn/hierarchical-layer","algorithm/rnn/hierarchical-rnn","algorithm/rnn/rnn-tutorial","build/docker/build_docker_image","build_and_install/cmake/compile_options","build_and_install/cmake/index","build_and_install/cmake/install_deps","build_and_install/cmake/make_and_install","build_and_install/index","build_and_install/install/docker_install","build_and_install/install/ubuntu_install","cluster/index","demo/index","demo/quick_start/index","faq/index","index","ui/cmd/dump_config","ui/cmd/index","ui/cmd/make_diagram","ui/cmd/merge_model","ui/cmd/paddle_pserver","ui/cmd/paddle_train","ui/cmd/paddle_version","ui/data_provider/index","ui/data_provider/pydataprovider2","ui/data_provider/write_new_dataprovider","ui/index","ui/predict/swig_py_paddle"],objects:{},objnames:{},objtypes:{},terms:{"0000x":13,"000\u5f20\u7070\u5ea6\u56fe\u7247\u7684\u6570\u5b57\u5206\u7c7b\u6570\u636e\u96c6":24,"00186201e":27,"04\u4e2d\u6b63\u786e":10,"08823112e":27,"0\u5c42\u5e8f\u5217":0,"0b1":10,"100m":14,"10\u4ee5\u4e0a\u7684linux":9,"10\u7ef4\u7684\u6574\u6570\u503c":24,"10gbe":9,"10m":3,"12194102e":27,"12\u7248\u672c\u6d4b\u8bd5\u901a\u8fc7":3,"12\u7248\u672c\u7684\u60c5\u51b5\u4e0b\u5e76\u6ca1\u6709\u6d4b\u8bd5":3,"15501715e":27,"15mb":13,"16mb":13,"1\u7684\u8bdd":24,"252kb":13,"25639710e":27,"25k":13,"27787406e":27,"28\u7684\u50cf\u7d20\u7070\u5ea6\u503c":24,"28\u7684\u7a20\u5bc6\u5411\u91cf\u548c\u4e00\u4e2a":24,"2\u4e09\u7c7b\u7684\u6bd4\u4f8b\u4e3a":14,"2\u4e2a\u5b50\u53e5":1,"2\u53e5\u53cc\u5c42\u5e8f\u5217\u548c5\u53e5\u5355\u5c42\u5e8f\u5217\u7684\u6570\u636e\u5b8c\u5168\u4e00\u6837":1,"2\u8868\u793a\u4e00\u6b21\u8fc72\u53e5\u53cc\u5c42\u5e8f\u5217":1,"2\u8fdb\u884c\u8fdb\u4e00\u6b65\u6f14\u5316":13,"32777140e":27,"36540484e":27,"3\u4e2a\u5b50\u53e5":1,"40gbe":9,"43630644e":27,"48565123e":27,"48684503e":27,"49316648e":27,"500m":14,"50k":3,"51111044e":27,"53018653e":27,"56gbe":9,"5\u5230\u672c\u5730\u73af\u5883\u4e2d":10,"5\u8868\u793a\u4e00\u6b21\u8fc75\u53e5\u5355\u5c42\u5e8f\u5217":1,"70634608e":27,"72296313e":27,"85625684e":27,"93137714e":27,"96644767e":27,"99982715e":27,"9\u7684\u6570\u5b57":24,"\u4e00":1,"\u4e00\u4e2a0\u5c42\u5e8f\u5217":0,"\u4e00\u4e2a0\u5c42\u5e8f\u5217\u7ecf\u8fc7\u8fd0\u7b97\u6269\u5c55\u6210\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":0,"\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":0,"\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217\u7ecf\u8fc7\u8fd0\u7b97\u6269\u5c55\u6210\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217":0,"\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217\u8fdb\u5165":2,"\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217":0,"\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217\u6216\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":0,"\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217\u7ecf\u8fc7\u8fd0\u7b97\u53d8\u6210\u4e00\u4e2a0\u5c42\u5e8f\u5217":0,"\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217\u7ecf\u8fc7\u8fd0\u7b97\u53d8\u6210\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":0,"\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217\u8fdb\u5165":2,"\u4e00\u4e2a\u53cc\u5c42rnn\u7531\u591a\u4e2a\u5355\u5c42rnn\u7ec4\u6210":2,"\u4e00\u4e2a\u53ef\u8c03\u7528\u7684\u51fd\u6570":2,"\u4e00\u4e2a\u6570\u636e\u96c6\u5927\u90e8\u5206\u5e8f\u5217\u957f\u5ea6\u662f100":14,"\u4e00\u4e2a\u6587\u4ef6":24,"\u4e00\u4e2a\u72ec\u7acb\u7684\u5143\u7d20":0,"\u4e00\u4e2a\u72ec\u7acb\u7684\u8bcd\u8bed":0,"\u4e00\u4e2a\u91cd\u8981\u7684\u95ee\u9898\u662f\u9009\u62e9\u6b63\u786e\u7684learning_r":14,"\u4e00\u4e2alabel":1,"\u4e00\u4e2alogging\u5bf9\u8c61":24,"\u4e00\u4e2apass\u8868\u793a\u8fc7\u4e00\u904d\u6240\u6709\u8bad\u7ec3\u6837\u672c":13,"\u4e00\u4eba":1,"\u4e00\u5171\u670910\u4e2a\u6837\u672c":1,"\u4e00\u5171\u67094\u4e2a\u6837\u672c":1,"\u4e00\u53e5\u8bdd\u662f\u7531\u8bcd\u8bed\u6784\u6210\u7684\u5e8f\u5217":2,"\u4e00\u65e9":1,"\u4e00\u662fbatch":14,"\u4e00\u6761":24,"\u4e00\u6b21\u6027\u676f\u5b50":1,"\u4e00\u81f4":1,"\u4e00\u81f4\u7684\u7279\u5f81":24,"\u4e00\u822c\u60c5\u51b5\u4e0b":23,"\u4e00\u822c\u63a8\u8350\u8bbe\u7f6e\u6210true":24,"\u4e00\u884c\u4e3a\u4e00\u4e2a\u6837\u672c":13,"\u4e00\u884c\u5bf9\u5e94\u4e00\u4e2a\u6570\u636e\u6587\u4ef6":23,"\u4e0a\u7684\u6548\u679c":13,"\u4e0a\u7f51":1,"\u4e0a\u8ff0\u4ee3\u7801\u5c06bias\u5168\u90e8\u521d\u59cb\u5316\u4e3a1":14,"\u4e0b\u6587\u4ee5nlp\u4efb\u52a1\u4e3a\u4f8b":2,"\u4e0b\u6b21":1,"\u4e0b\u8f7d\u8fdb\u7a0b\u4f1a\u91cd\u542f":3,"\u4e0b\u8ff0\u5185\u5bb9\u5c06\u5206\u4e3a\u5982\u4e0b\u51e0\u4e2a\u7c7b\u522b\u63cf\u8ff0":9,"\u4e0b\u975e\u5e38\u5c11\u7684\u53d8\u91cf\u5f15\u7528":24,"\u4e0b\u9762\u8fd9\u4e9blayer\u80fd\u591f\u63a5\u53d7\u53cc\u5c42\u5e8f\u5217\u4f5c\u4e3a\u8f93\u5165":0,"\u4e0b\u9762dataprovid":13,"\u4e0d":1,"\u4e0d\u4e00\u5b9a\u548c\u65f6\u95f4\u6709\u5173\u7cfb":24,"\u4e0d\u4f1a\u518d\u4ece":14,"\u4e0d\u4f1a\u6267\u884c\u6d4b\u8bd5\u64cd\u4f5c":23,"\u4e0d\u5305\u542blabel":27,"\u4e0d\u540c\u7684\u4f18\u5316\u7b97\u6cd5\u9700\u8981\u4f7f\u7528\u4e0d\u540c\u5927\u5c0f\u7684\u5185\u5b58":14,"\u4e0d\u540c\u7684\u6570\u636e\u7c7b\u578b\u548c\u5e8f\u5217\u6a21\u5f0f\u8fd4\u56de\u7684\u683c\u5f0f\u4e0d\u540c":24,"\u4e0d\u540c\u8f93\u5165\u542b\u6709\u7684\u5b50\u53e5":2,"\u4e0d\u540c\u8f93\u5165\u5e8f\u5217\u542b\u6709\u7684\u8bcd\u8bed\u6570\u5fc5\u987b\u4e25\u683c\u76f8\u7b49":2,"\u4e0d\u5c11":1,"\u4e0d\u5e94\u8be5\u88ab\u62c6\u89e3":2,"\u4e0d\u6307\u5b9a\u65f6":2,"\u4e0d\u652f\u6301avx\u6307\u4ee4\u96c6\u7684cpu\u4e5f\u53ef\u4ee5\u8fd0\u884c":9,"\u4e0d\u7f13\u5b58\u4efb\u4f55\u6570\u636e":24,"\u4e0d\u8fc7":1,"\u4e0d\u8fdc":1,"\u4e0d\u9519":1,"\u4e0d\u9700\u8981avx\u6307\u4ee4\u96c6\u7684cpu\u4e5f\u53ef\u4ee5\u8fd0\u884c":9,"\u4e0e\u8bad\u7ec3\u7f51\u7edc\u914d\u7f6e\u4e0d\u540c\u7684\u662f":13,"\u4e0e\u8fd9\u4e2a\u8bad\u7ec3\u6570\u636e\u4ea4\u4e92\u7684layer":14,"\u4e14":1,"\u4e14\u5e8f\u5217\u7684\u6bcf\u4e00\u4e2a\u5143\u7d20\u8fd8\u662f\u4e00\u4e2a\u65f6\u95f4\u5e8f\u5217":24,"\u4e24":1,"\u4e24\u4e2a\u5d4c\u5957\u7684":2,"\u4e24\u4e2a\u6587\u6863":9,"\u4e24\u7c7b":13,"\u4e25\u91cd\u7684\u95ee\u9898":24,"\u4e2a":13,"\u4e2a\u5185\u5b58\u6c60\u5b9e\u9645\u4e0a\u51b3\u5b9a\u4e86shuffle\u7684\u7c92\u5ea6":14,"\u4e2ayield":24,"\u4e2d":[13,14],"\u4e2d\u5b9a\u4e49\u4f7f\u7528\u54ea\u79cddataprovider\u53ca\u5176\u53c2\u6570":23,"\u4e2d\u5b9a\u4e49\u548c\u4f7f\u7528":2,"\u4e2d\u5b9a\u4e49\u7684\u987a\u5e8f\u4e00\u81f4":24,"\u4e2d\u5bfb\u627e\u8fd9\u4e9bblas\u7684\u5b9e\u73b0":4,"\u4e2d\u7684":24,"\u4e2d\u7684\u4e8c\u8fdb\u5236\u4f7f\u7528\u4e86":9,"\u4e2d\u7684set":24,"\u4e2d\u914d\u7f6e":24,"\u4e34\u65f6\u53d8\u91cf\u7b49\u7b49":14,"\u4e3a":24,"\u4e3a\u4e86\u63cf\u8ff0\u65b9\u4fbf":2,"\u4e3a\u4e86\u8fd0\u884cpaddlepaddle\u7684docker\u955c\u50cf":9,"\u4e3a\u4f8b\u8fdb\u884c\u9884\u6d4b":13,"\u4e3a\u53c2\u6570\u77e9\u9635\u7684\u5bbd\u5ea6":14,"\u4e3b\u8981\u51fd\u6570\u662fprocess\u51fd\u6570":24,"\u4e3b\u8981\u5206\u4e3a\u4ee5\u4e0b\u51e0\u4e2a\u6b65\u9aa4":27,"\u4e3b\u8981\u5305\u62ec\u4e24\u90e8\u5206":13,"\u4e3b\u8981\u539f\u56e0":1,"\u4e3b\u8981\u662f\u589e\u52a0\u4e86\u521d\u59cb\u5316\u673a\u5236":24,"\u4e3b\u8981\u6b65\u9aa4\u4e3a":27,"\u4e3b\u8981\u7531\u4e8e\u65e7\u7248\u672c":3,"\u4e3b\u8981\u7684\u8f6f\u4ef6\u5305\u4e3apy_paddl":27,"\u4e3e\u4e00\u4e2a\u4f8b\u5b50":14,"\u4e4b\u95f4\u7684\u8fd0\u7b97\u662f\u72ec\u7acb\u7684":2,"\u4e5f":1,"\u4e5f\u4e0d\u5b58\u5728\u4e00\u4e2asubseq\u76f4\u63a5\u751f\u6210\u4e0b\u4e00\u4e2asubseq\u7684\u60c5\u51b5":2,"\u4e5f\u4f1a\u6254\u5230\u8fd9\u6761\u6570\u636e":24,"\u4e5f\u4f1a\u8bfb\u53d6\u76f8\u5173\u8def\u5f84\u53d8\u91cf\u6765\u8fdb\u884c\u641c\u7d22":4,"\u4e5f\u53ef\u4ee5":24,"\u4e5f\u53ef\u4ee5\u4e3ainteg":1,"\u4e5f\u53ef\u4ee5\u4f7f\u7528":24,"\u4e5f\u53ef\u4ee5\u548cpaddl":17,"\u4e5f\u53ef\u4ee5\u662f\u4e00\u4e2a\u8bcd\u8bed":2,"\u4e5f\u53ef\u4ee5\u76f4\u63a5\u6267\u884c":9,"\u4e5f\u53ef\u4ee5\u901a\u8fc7\u5982\u4e0b\u65b9\u5f0f\u9884\u6d4b":13,"\u4e5f\u53ef\u4ee5\u901a\u8fc7save":13,"\u4e5f\u53ef\u4ee5\u9884\u6d4b\u6ca1\u6709label\u7684\u6d4b\u8bd5\u96c6":13,"\u4e5f\u5c31\u662f\u5c06\u8bcd\u5411\u91cf\u6a21\u578b\u989d\u6b65":13,"\u4e5f\u5c31\u662f\u76f4\u63a5\u5199\u5185\u5b58\u7684float\u6570\u7ec4":27,"\u4e5f\u662fdecoder\u5faa\u73af\u5c55\u5f00\u7684\u4f9d\u636e":2,"\u4e5f\u9700\u8981\u4e24\u6b21\u968f\u673a\u9009\u62e9\u5230\u540c\u6837\u7684generator\u7684\u65f6\u5019":24,"\u4e7e":1,"\u4e86":1,"\u4e86\u975e\u5e38\u65b9\u4fbf\u7684\u4e8c\u8fdb\u5236\u5206\u53d1\u624b\u6bb5":9,"\u4e8c\u6b21\u5f00\u53d1\u53ef\u4ee5":9,"\u4e94\u661f\u7ea7":1,"\u4ea4\u901a":1,"\u4ea4\u901a\u4fbf\u5229":1,"\u4eba\u5458\u7b49\u7b49":3,"\u4ec5\u4ec5\u9700\u8981":24,"\u4ecb\u7ecdpaddlepaddle\u4f7f\u7528\u6d41\u7a0b\u548c\u5e38\u7528\u7684\u7f51\u7edc\u57fa\u7840\u5355\u5143\u7684\u914d\u7f6e\u65b9\u6cd5":13,"\u4ece\u4e00\u4e2aword\u751f\u6210\u4e0b\u4e00\u4e2aword":2,"\u4ece\u6587\u4ef6\u4e2d\u8bfb\u53d6\u6bcf\u4e00\u6761\u6570\u636e":24,"\u4ece\u6587\u672c\u6587\u4ef6\u4e2d\u8bfb\u53d6":24,"\u4ece\u800c\u4e0d\u80fd\u5728\u8fd0\u884c\u7f16\u8bd1\u547d\u4ee4\u7684\u65f6\u5019\u63a5\u53d7\u53c2\u6570":3,"\u4ece\u800c\u751f\u6210\u591a\u4e2agener":24,"\u4ece\u800c\u9632\u6b62\u8fc7\u62df\u5408":23,"\u4ece\u8bed\u4e49\u4e0a\u770b":2,"\u4ece\u8f93\u5165\u6570\u636e\u4e0a\u770b":1,"\u4ed6\u4eec\u662f":[9,10,14,17,24],"\u4ed6\u4eec\u7684imag":9,"\u4ed6\u53ef\u4ee5\u5c06\u67d0\u4e00\u4e2a\u51fd\u6570\u6807\u8bb0\u6210\u4e00\u4e2apydataprovid":24,"\u4ee3\u8868\u4e00\u4e2a\u5411\u91cf":1,"\u4ee3\u8868\u4e0d\u540c\u7684\u53cc\u5c42\u5e8f\u5217":1,"\u4ee3\u8868\u5355\u5c42\u5e8f\u5217":1,"\u4ee3\u8868\u53cc\u5c42\u5e8f\u5217":1,"\u4ee4\u884c\u53c2\u6570\u6587\u6863":13,"\u4ee5\u53ca\u53cc\u5c42\u5e8f\u5217":0,"\u4ee5\u53ca\u8ba1\u7b97\u903b\u8f91\u5728\u5e8f\u5217\u4e0a\u7684\u5faa\u73af\u5c55\u5f00":2,"\u4ee5\u592a\u7f51\u5361":9,"\u4ee5\u76f8\u5bf9\u8def\u5f84\u5f15\u7528":23,"\u4ef7\u683c":1,"\u4efb\u610f\u4e00\u79cdcblas\u5b9e\u73b0":4,"\u4f1a\u5171\u4eab\u53c2\u6570":14,"\u4f1a\u5bf9\u6bcf\u4e00\u4e2a\u6fc0\u6d3b\u6682\u5b58\u4e00\u4e9b\u6570\u636e":14,"\u4f1a\u5bf9\u8fd9\u7c7b\u8f93\u5165\u8fdb\u884c\u62c6\u89e3":2,"\u4f1a\u5c06\u6bcf\u4e2a\u65f6\u95f4\u6b65\u7684\u8f93\u51fa\u62fc\u63a5":2,"\u4f1a\u5c06\u7b2c\u4e00\u4e2a":14,"\u4f1a\u6210\u4e3astep\u51fd\u6570\u7684\u8f93\u5165":2,"\u4f1a\u62a5\u5bfb\u627e\u4e0d\u5230\u8fd9\u4e9b\u52a8\u6001\u5e93":10,"\u4f1a\u62a5\u9519":2,"\u4f1a\u6839\u636e\u547d\u4ee4\u884c\u53c2\u6570\u6307\u5b9a\u7684\u6d4b\u8bd5\u65b9\u5f0f":23,"\u4f1a\u6839\u636einput_types\u68c0\u67e5\u6570\u636e\u7684\u5408\u6cd5\u6027":24,"\u4f1a\u751f\u6210\u591a\u4e2agener":24,"\u4f1a\u88ab\u62c6\u89e3\u4e3a\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":2,"\u4f1a\u88ab\u62c6\u89e3\u4e3a\u975e\u5e8f\u5217":2,"\u4f1a\u9884\u5148\u8bfb\u53d6\u5168\u90e8\u6570\u636e\u5230\u5185\u5b58\u4e2d":24,"\u4f20\u5165\u547d\u4ee4\u884c\u53c2\u6570\u521d\u59cb\u5316":27,"\u4f20\u5165\u7684\u662f\u4e00\u4e2a\u51fd\u6570":24,"\u4f20\u5165\u7684\u914d\u7f6e\u53c2\u6570\u5305\u62ec":3,"\u4f20\u5165\u8fd9\u4e2a\u53d8\u91cf\u7684\u65b9\u5f0f\u4e3a":24,"\u4f46\u4ece\u4e0a\u9762\u7684\u6570\u636e\u683c\u5f0f\u53ef\u77e5":1,"\u4f46\u5b50\u53e5\u542b\u6709\u7684\u8bcd\u8bed\u6570\u53ef\u4ee5\u4e0d\u76f8\u7b49":2,"\u4f46\u662f":[3,14,24],"\u4f46\u662f\u5728":24,"\u4f46\u662f\u5982\u679c\u4f7f\u7528\u4e86\u9ad8\u6027\u80fd\u7684\u7f51\u5361":9,"\u4f46\u662f\u65b9\u4fbf\u8c03\u8bd5\u548cbenchmark":4,"\u4f46\u662f\u6709\u65f6\u4e3a\u4e86\u8ba1\u7b97\u5747\u8861\u6027":24,"\u4f46\u662f\u7a81\u7136\u6709\u4e00\u4e2a10000\u957f\u7684\u5e8f\u5217":14,"\u4f46\u662fbatch":14,"\u4f46\u7406\u8bba\u4e0a\u652f\u6301\u5176\u4ed6\u7684":10,"\u4f46\u8fd9\u79cd\u60c5\u51b5\u4e0b":1,"\u4f46\u9700\u8981\u6ce8\u610f\u7684\u662f\u7f16\u8bd1\u548c":4,"\u4f4d\u7f6e":1,"\u4f4e\u4e8edocker":3,"\u4f4f":1,"\u4f53\u53ef\u4ee5\u53c2\u8003":24,"\u4f5c\u4e3a\u4e0b\u4e00\u4e2a\u5b50\u53e5memory\u7684\u521d\u59cb\u72b6\u6001":1,"\u4f5c\u4e3a\u53c2\u6570\u7684id":14,"\u4f5c\u4e3a\u5f53\u524d\u65f6\u523b\u8f93\u5165":2,"\u4f5c\u4e3aboot":1,"\u4f5c\u7528":0,"\u4f7f\u5728python\u73af\u5883\u4e0b\u7684\u9884\u6d4b\u63a5\u53e3\u66f4\u52a0\u7b80\u5355":27,"\u4f7f\u7528":[2,4,9,14,27],"\u4f7f\u7528\u4e00\u4e2a\u8bcd\u524d\u4e24\u4e2a\u8bcd\u548c\u540e\u4e24\u4e2a\u8bcd":14,"\u4f7f\u7528\u4e86\u540c\u6837\u7684parameter\u548cbia":14,"\u4f7f\u7528\u4e86avx\u6307\u4ee4":14,"\u4f7f\u7528\u591a\u5757\u663e\u5361\u8bad\u7ec3":14,"\u4f7f\u7528\u591a\u673a\u8bad\u7ec3\u7684\u65b9\u6cd5\u4e5f\u6bd4\u8f83\u7b80\u5355":14,"\u4f7f\u7528\u591a\u7ebf\u7a0b\u8bad\u7ec3":14,"\u4f7f\u7528\u5982\u4e0b\u811a\u672c\u53ef\u4ee5\u786e\u5b9a\u672c\u673a\u7684cpu\u77e5\u5426\u652f\u6301":9,"\u4f7f\u7528\u65b9\u6cd5\u4e3a":14,"\u4f7f\u7528\u663e\u5361\u8bad\u7ec3":14,"\u4f7f\u7528\u7684\u547d\u4ee4\u4e5f\u662f":4,"\u4f7f\u7528\u8005\u53ea\u9700\u8981\u5173\u6ce8\u4e8e\u8bbe\u8ba1rnn\u5728\u4e00\u4e2a\u65f6\u95f4\u6b65\u4e4b\u5185\u5b8c\u6210\u7684\u8ba1\u7b97":2,"\u4f7f\u7528\u8be5\u63a5\u53e3\u7528\u6237\u53ef\u4ee5\u53ea\u5173\u6ce8\u5982\u4f55":24,"\u4f7f\u7528\u8be5dockerfile\u6784\u5efa\u51fa\u955c\u50cf":9,"\u4f7f\u7528\u8fd9\u4e2a\u5173\u952e\u8bcd":24,"\u4f7f\u7528deb\u5305\u5728ubuntu\u4e0a\u5b89\u88c5paddlepaddl":8,"\u4f7f\u7528dockerfile\u6784\u5efa\u4e00\u4e2a\u5168\u65b0\u7684dock":9,"\u4f7f\u7528mnist\u624b\u5199\u8bc6\u522b\u4f5c\u4e3a\u6837\u4f8b":27,"\u4f7f\u7528ssh\u8bbf\u95eepaddlepaddle\u955c\u50cf":9,"\u4f86":1,"\u4f8b\u5982":[4,13,14,24],"\u4f8b\u5982\u5982\u679c\u4f7f\u7528":14,"\u4f8b\u5982\u6587\u4ef6\u540d\u662f":24,"\u4f8b\u5982rdma\u7f51\u5361":9,"\u4f8b\u5982sigmoid\u53d8\u6362":13,"\u4f9d\u6b21\u8fd4\u56de\u4e86\u6587\u4ef6\u4e2d\u7684\u6bcf\u6761\u6570\u636e":24,"\u4f9d\u7136\u4fdd\u6301\u6bcf\u4e2asubseq\u6700\u540e\u4e00\u4e2a\u5143\u7d20\u7684\u503c\u4e0d\u53d8":1,"\u4fbf\u5229":1,"\u4fbf\u5b9c":1,"\u4fe1\u606f":9,"\u5047\u5982\u6211\u4eec\u662f\u4e09\u5206\u7c7b\u95ee\u9898":14,"\u505a\u6cd5\u53ef\u4ee5\u6709\u4e24\u79cd":14,"\u505c\u7535":1,"\u5143\u7d20":0,"\u5143\u7d20\u4e4b\u95f4\u7684\u987a\u5e8f\u662f\u91cd\u8981\u7684\u8f93\u5165\u4fe1\u606f":0,"\u5168\u5bb6":1,"\u5173\u4e8edataprovider\u4e2dinput":1,"\u5173\u4e8eunbound":2,"\u5173\u95edcontain":9,"\u5176\u4e2d":[3,9,10,14,23,24,27],"\u5176\u4e2d\u6587\u672c\u8f93\u5165\u7c7b\u578b\u5b9a\u4e49\u4e3a\u6574\u6570\u65f6\u5e8f\u7c7b\u578binteg":13,"\u5176\u4e2d\u6bcf\u4e2a\u5143\u7d20\u662f\u53cc\u5c42\u5e8f\u5217\u4e2d\u6bcf\u4e2asubseq\u6700\u540e\u4e00\u4e2a":0,"\u5176\u4e2d\u7b2c\u4e00\u884c\u662f\u5f15\u5165paddlepaddle\u7684pydataprovider2\u5305":24,"\u5176\u4e2d\u7b2ci\u4e2asubseq\u4e2d\u7684\u6240\u6709\u5411\u91cf\u5747\u4e3a\u8f93\u5165\u7684\u5355\u5c42\u5e8f\u5217\u4e2d\u7684\u7b2ci\u4e2a\u5411\u91cf":1,"\u5176\u4ed6\u5185\u5b58\u6742\u9879":14,"\u5176\u4ed6\u5185\u5b58\u6742\u9879\u662f\u6307paddlepaddle\u672c\u8eab\u6240\u7528\u7684\u4e00\u4e9b\u5185\u5b58":14,"\u5176\u4ed6\u53c2\u6570\u5747\u4f7f\u7528kei":24,"\u5176\u4ed6\u53c2\u6570\u8bf7\u53c2\u8003":13,"\u5176\u4ed6\u53c2\u6570\u90fd\u4f7f\u7528kei":24,"\u5176\u4ed6\u7684\u5185\u5b58\u7684\u51cf\u5c11\u65b9\u6cd5\u4f9d\u6b21\u4e3a":14,"\u5176\u4f5c\u7528\u662f\u5c06\u8bad\u7ec3\u6570\u636e\u4f20\u5165\u5185\u5b58\u6216\u8005\u663e\u5b58":23,"\u5176\u5b83\u90e8\u5206\u548c\u903b\u8f91\u56de\u5f52\u7f51\u7edc\u7ed3\u6784\u4e00\u81f4":13,"\u5176\u5b83layer\u7684\u8f93\u51fa":2,"\u5176\u5b9e\u4e5f\u662f\u548c\u6bcf\u4e2amini":14,"\u5176\u6570\u636e\u4f7f\u7528":24,"\u5176\u6b21":1,"\u5176\u7b2c\u4e00\u884c\u8bf4\u660e\u4e86paddle\u7684\u7248\u672c":22,"\u5177":24,"\u5177\u4f53\u4f7f\u7528\u65b9\u6cd5\u4e3a":14,"\u5177\u4f53\u53ef\u4ee5\u8bbe\u7f6e\u6210\u4ec0\u4e48\u5176\u4ed6\u683c":24,"\u5177\u4f53\u53ef\u53c2\u8003\u6587\u6863":2,"\u5177\u4f53\u6709\u54ea\u4e9b\u683c\u5f0f":24,"\u5177\u4f53\u7684\u591a\u673a\u8bad\u7ec3\u65b9\u6cd5\u53c2\u8003":14,"\u5177\u4f53\u8bf7\u53c2\u8003\u6ce8\u610f\u4e8b\u9879\u4e2d\u7684":9,"\u5177\u4f53dataprovider\u8fd8\u5177\u6709\u4ec0\u4e48\u529f\u80fd":24,"\u5177\u6709\u4e24\u4e2a\u53c2\u6570":24,"\u5177\u6709\u548c\u5bbf\u4e3b\u673a\u76f8\u8fd1\u7684\u8fd0\u884c\u6548\u7387":9,"\u5177\u6709\u7684\u5c5e\u6027\u6709":24,"\u5178\u578b\u7684\u8f93\u51fa\u7ed3\u679c\u4e3a":27,"\u5178\u578b\u7684\u9884\u6d4b\u4ee3\u7801\u5982\u4e0b":27,"\u5185\u5b58\u4e0d\u591f\u7528\u7684\u60c5\u51b5":23,"\u5185\u5c42\u662f":1,"\u5185\u5c42inner":1,"\u518d\u6307\u5b9a":4,"\u5199\u5165train":24,"\u5199\u5728train":23,"\u51c6\u5907":1,"\u51c6\u5907\u6570\u636e":27,"\u51cf\u5c0f\u5e8f\u5217\u7684\u957f\u5ea6":14,"\u51cf\u5c0f\u8fd9\u4e2a\u5185\u5b58\u6c60\u5373\u53ef\u51cf\u5c0f\u5185\u5b58\u5360\u7528":14,"\u51cf\u5c0fbatch":14,"\u51fa\u53bb\u73a9":1,"\u51fa\u5dee":1,"\u51fa\u6765":1,"\u51fd\u6570":24,"\u51fd\u6570\u4e2d":24,"\u51fd\u6570\u4e2d\u4f7f\u7528":24,"\u51fd\u6570\u4e2d\u7684":24,"\u51fd\u6570\u53ea\u5173\u6ce8\u4e8ernn\u4e00\u4e2a\u65f6\u95f4\u6b65\u4e4b\u5185\u7684\u8ba1\u7b97":2,"\u51fd\u6570\u5fc5\u987b\u8fd4\u56de\u4e00\u4e2a\u6216\u591a\u4e2alayer\u7684\u8f93\u51fa":2,"\u51fd\u6570\u662f\u4f7f\u7528":24,"\u51fd\u6570\u6765\u4fdd\u8bc1\u517c\u5bb9\u6027":24,"\u51fd\u6570\u67e5\u8be2\u6587\u6863":27,"\u5206\u522b\u4e3a":1,"\u5206\u522b\u4ece\u8bcd\u8bed\u548c\u53e5\u5b50\u7ea7\u522b\u7f16\u7801\u8f93\u5165\u6570\u636e":2,"\u5206\u522b\u5b9a\u4e49\u5b50\u53e5\u7ea7\u522b\u548c\u8bcd\u8bed\u7ea7\u522b\u4e0a\u9700\u8981\u5b8c\u6210\u7684\u8fd0\u7b97":2,"\u5206\u522b\u662f":0,"\u5206\u5e03\u5f0f\u8bad\u7ec3":13,"\u5206\u6790\u5f97\u51fa":1,"\u5206\u7c7b\u6210\u6b63\u9762\u60c5\u7eea\u548c":24,"\u5217\u8868\u5982\u4e0b":24,"\u5219\u53ef\u4ee5\u4f7f\u7528":9,"\u5219\u53ef\u4ee5\u9009\u62e9\u4e0a\u8868\u4e2d\u7684avx\u7248\u672cpaddlepaddl":9,"\u5219\u5b57\u4e0e\u5b57\u4e4b\u95f4\u7528\u7a7a\u683c\u5206\u9694":13,"\u5219\u9700\u8981\u4f7f\u7528":10,"\u5219\u9700\u8981\u4f7f\u7528\u53c2\u6570\u89c4\u6a21\u5927\u7ea65\u500d\u7684\u5185\u5b58":14,"\u5219\u9700\u8981\u5148\u5c06":9,"\u5219\u9700\u8981\u8fdb\u884c\u4e00\u5b9a\u7684\u4e8c\u6b21\u5f00\u53d1":9,"\u521b\u5efa\u4e00\u4e2a":27,"\u521b\u5efagener":24,"\u521d\u59cb\u72b6\u6001":2,"\u5220\u9664contain":9,"\u5229\u7528\u5355\u8bcdid\u67e5\u627e\u5bf9\u5e94\u7684\u8be5\u5355\u8bcd\u7684\u8fde\u7eed\u8868\u793a\u5411\u91cf":13,"\u5229\u7528\u66f4\u591a\u7684\u8ba1\u7b97\u8d44\u6e90\u53ef\u4ee5\u5206\u4e3a\u4e00\u4e0b\u51e0\u4e2a\u65b9\u5f0f\u6765\u8fdb\u884c":14,"\u5229\u7528\u8fd9\u79cd\u7279\u6027":2,"\u5229\u7528\u903b\u8f91\u56de\u5f52\u6a21\u578b\u5bf9\u8be5\u5411\u91cf\u8fdb\u884c\u5206\u7c7b":13,"\u5229\u843d":1,"\u522b":13,"\u5237\u7259":1,"\u524d\u53f0":1,"\u5269\u4e0b\u7684pass\u4f1a\u76f4\u63a5\u4ece\u5185\u5b58\u91cc":24,"\u52a0\u4e86l2\u6b63\u5219\u548c\u68af\u5ea6\u622a\u65ad":13,"\u52a0\u8f7d\u6570\u636e":13,"\u52a0\u901fpaddlepaddle\u8bad\u7ec3\u6709\u5982\u4e0b\u51e0\u4e2a\u65b9\u9762":14,"\u5305":9,"\u5305\u548c":9,"\u5305\u62ec":13,"\u5305\u62ec\u5b57\u7b26\u4e32\u5206\u914d":14,"\u5305\u62ec\u6fc0\u6d3b":14,"\u5305\u62ec\u7b80\u5355\u7684rnn\u6a21\u578b":13,"\u5305\u62ecdocker\u955c\u50cf":8,"\u5305\u62ecpaddle\u7684\u4e8c\u8fdb\u5236":9,"\u5305\u62ecpaddle\u8fd0\u884cdemo\u6240\u9700\u8981\u7684\u4f9d\u8d56":9,"\u5341\u4e00":1,"\u534e\u6da6\u4e07\u5bb6":1,"\u5355\u53cc\u5c42\u5e8f\u5217\u7684\u53e5\u5b50\u662f\u4e00\u6837\u7684":1,"\u5355\u53cc\u5c42\u5e8f\u5217\u7684label\u90fd\u5206\u522b\u662f0\u548c1":1,"\u5355\u5c42":2,"\u5355\u5c42\u5e8f\u5217":[0,1],"\u5355\u5c42\u5e8f\u5217\u7684\u6570\u636e":1,"\u5355\u5c42\u5e8f\u5217\u7684\u6bcf\u4e2a\u5143\u7d20":0,"\u5355\u5c42\u5e8f\u5217\u7684dataprovider\u5982\u4e0b":1,"\u5355\u5c42\u5e8f\u5217\u76f4\u63a5\u53d6\u4e86\u6700\u540e\u4e00\u4e2a\u5143\u7d20":1,"\u5355\u5c42\u5e8f\u5217\u7b2ci\u4e2a\u5143\u7d20":0,"\u5355\u5c42\u5e8f\u5217\u8fc7\u4e86\u4e00\u4e2amix":1,"\u5355\u5c42\u6216\u53cc\u5c42":0,"\u5355\u5c42rnn":[1,2],"\u5355\u5c42rnn\u793a\u4f8b":15,"\u5355\u673acpu\u8bad\u7ec3":14,"\u5355\u673agpu\u8bad\u7ec3":14,"\u5355\u6d4b\u4e2d":1,"\u5355\u8fdb\u5355\u51fa":2,"\u536b\u751f":1,"\u5373":[9,13,14],"\u5373\u4e00\u4e2a\u53e5\u5b50\u4e00\u4e2alabel":1,"\u5373\u4e00\u4e2a\u5b50\u53e5\u4e00\u4e2alabel":1,"\u5373\u4e0d\u5728\u4e4e\u5185\u5b58\u6682\u5b58\u591a\u5c11\u6761\u6570\u636e":24,"\u5373\u4e0d\u662f\u4e00\u6761\u5e8f\u5217":24,"\u5373\u4ece\u5355\u8bcd\u5b57\u7b26\u4e32\u5230\u5355\u8bcdid\u7684\u5b57\u5178":24,"\u5373\u4f1a\u751f\u6210100\u4e2agener":24,"\u5373\u4f7f\u5728check\u4e2d\u6570\u636e\u4e0d\u5408\u6cd5":24,"\u5373\u4f7f\u5728process\u91cc\u9762\u53ea\u4f1a\u6709\u4e00":24,"\u5373\u5185\u5c42memory\u7684boot":1,"\u5373\u521d\u59cb\u72b6\u6001\u4e3a0":2,"\u5373\u5305\u542b\u65f6\u95f4\u6b65\u4fe1\u606f":24,"\u5373\u53cc\u5c42rnn\u7684\u6bcf\u4e2a\u72b6\u6001":2,"\u5373\u53ef":24,"\u5373\u53ef\u4ee5\u4f7f\u7528ssh\u8bbf\u95ee\u5bbf\u4e3b\u673a\u76848022\u7aef\u53e3":9,"\u5373\u53ef\u4ee5\u6781\u5927\u7684\u52a0\u901f\u6570\u636e\u8f7d\u5165\u6d41\u7a0b":14,"\u5373\u53ef\u4ee5\u8bbe\u7f6e\u53c2\u4e0e\u8bad\u7ec3\u7684\u7ebf\u7a0b\u6570\u91cf":14,"\u5373\u53ef\u542f\u52a8\u548c\u8fdb\u5165paddlepaddle\u7684contain":9,"\u5373\u53ef\u5728\u672c\u5730\u7f16\u8bd1\u51fapaddlepaddle\u7684\u955c\u50cf":3,"\u5373\u53ef\u6253\u5370\u51fapaddlepaddle\u7684\u7248\u672c\u548c\u6784\u5efa":9,"\u5373\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d":14,"\u5373\u5927\u90e8\u5206\u503c\u4e3a0":24,"\u5373\u5982\u679ctrain":24,"\u5373\u5bf9\u7b2c3\u6b65\u8fdb\u884c\u66ff\u6362":13,"\u5373\u628a\u5355\u5c42rnn\u751f\u6210\u540e\u7684subseq\u7ed9\u62fc\u63a5\u6210\u4e00\u4e2a\u65b0\u7684\u53cc\u5c42seq":2,"\u5373\u6574\u4e2a\u53cc\u5c42group\u662f\u5c06\u524d\u4e00\u4e2a\u5b50\u53e5\u7684\u6700\u540e\u4e00\u4e2a\u5411\u91cf":1,"\u5373\u6574\u4e2a\u8f93\u5165\u5e8f\u5217":0,"\u5373\u662f\u4e00\u6761\u65f6\u95f4\u5e8f\u5217":24,"\u5373\u8bbe\u7f6e":14,"\u5373\u8d77\u5230\u7684\u4f5c\u7528\u4ec5\u4ec5\u662f\u628a\u53cc\u5c42seq\u62c6\u6210\u5355\u5c42":1,"\u5373input":2,"\u5373train":24,"\u5377\u79ef\u7f51\u7edc\u662f\u4e00\u79cd\u7279\u6b8a\u7684\u4ece\u8bcd\u5411\u91cf\u8868\u793a\u5230\u53e5\u5b50\u8868\u793a\u7684\u65b9\u6cd5":13,"\u53bb\u8fc7":1,"\u53c2\u6570":3,"\u53c2\u6570\u5171\u4eab\u7684\u914d\u7f6e\u793a\u4f8b\u4e3a":14,"\u53c2\u6570\u6570\u91cf":13,"\u53c2\u6570\u6765\u63a7\u5236\u7f13\u5b58\u65b9\u6cd5":14,"\u53c2\u8003":23,"\u53c2\u89c1":[6,7],"\u53c2\u89c1pydataprovider2":1,"\u53c3\u5dee\u7b49\u7b49":14,"\u53c8":1,"\u53c8\u662f\u4e00\u4e2a\u5355\u5c42\u7684\u5e8f\u5217":0,"\u53c8\u8981\u4fdd\u8bc1\u6570\u636e\u662f\u968f\u673a\u7684":14,"\u53cc\u5c42":2,"\u53cc\u5c42\u5e8f\u5217":[0,1],"\u53cc\u5c42\u5e8f\u5217\u5728\u540c\u6837\u7684mix":1,"\u53cc\u5c42\u5e8f\u5217\u662f\u4e00\u4e2a\u5d4c\u5957\u7684\u5e8f\u5217":0,"\u53cc\u5c42\u5e8f\u5217\u662fpaddlepaddle\u652f\u6301\u7684\u4e00\u79cd\u975e\u5e38\u7075\u6d3b\u7684\u6570\u636e\u7ec4\u7ec7\u65b9\u5f0f":2,"\u53cc\u5c42\u5e8f\u5217\u6bcf\u4e2asubseq\u4e2d\u6bcf\u4e2a\u5143\u7d20":0,"\u53cc\u5c42\u5e8f\u5217\u7684\u6570\u636e":1,"\u53cc\u5c42\u5e8f\u5217\u7684dataprovider\u5982\u4e0b":1,"\u53cc\u5c42\u5e8f\u5217\u7ecf\u8fc7\u8fd0\u7b97\u53d8\u6210\u4e00\u4e2a0\u5c42\u5e8f\u5217":0,"\u53cc\u5c42\u5e8f\u5217\u9996\u5148":1,"\u53cc\u5c42\u6216\u8005\u5355\u5c42":0,"\u53cc\u5c42rnn":[1,2],"\u53cc\u5c42rnn\u793a\u4f8b":15,"\u53cc\u8fdb\u5355\u51fa":2,"\u53d1\u884c\u7248":10,"\u53d6\u4e86\u6bcf\u4e2asubseq\u7684\u5e73\u5747\u503c":1,"\u53d6\u4e86\u6bcf\u4e2asubseq\u7684\u6700\u540e\u4e00\u4e2a\u5143\u7d20":1,"\u53d6\u51b3\u4e8e\u662f\u5426\u5bfb\u627e\u5230gflags":4,"\u53d6\u51b3\u4e8e\u662f\u5426\u5bfb\u627e\u5230glog":4,"\u53d6\u51b3\u4e8e\u662f\u5426\u5bfb\u627e\u5230gtest":4,"\u53d6\u51b3\u4e8e\u662f\u5426\u627e\u5230swig":4,"\u53d8\u4e3a3\u4e2a\u65b0\u7684\u5b50\u6b65\u9aa4":13,"\u53d8\u4f1a\u62a5\u8fd9\u4e2a\u9519\u8bef":10,"\u53d8\u91cf":24,"\u53e3\u5934":1,"\u53e5\u5b50\u8868\u793a\u7684\u8ba1\u7b97\u66f4\u65b0\u4e3a2\u6b65":13,"\u53e6":14,"\u53e6\u4e00\u4e2a\u662f\u6bcf\u6761\u5e8f\u5217":14,"\u53ea\u4f5c\u4e3aread":2,"\u53ea\u5305\u62ecpaddle\u7684\u4e8c\u8fdb\u5236":9,"\u53ea\u662f\u53cc\u5c42\u5e8f\u5217\u5c06\u5176\u53c8\u505a\u4e86\u5b50\u5e8f\u5217\u5212\u5206":1,"\u53ea\u662f\u5c06\u53e5\u5b50\u5229\u7528\u8fde\u7eed\u5411\u91cf\u8868\u793a\u66ff\u6362\u7a00\u758f":13,"\u53ea\u662f\u8bf4\u660e\u6570\u636e\u7684\u987a\u5e8f\u662f\u91cd\u8981\u7684":24,"\u53ea\u6709":1,"\u53ea\u7528\u4e8e\u5728\u5e8f\u5217\u751f\u6210\u4efb\u52a1\u4e2d\u6307\u5b9a\u8f93\u5165\u6570\u636e":2,"\u53ea\u80fd\u591f\u8fd4\u56delist\u6216\u8005tupl":24,"\u53ea\u80fd\u901a\u8fc7":1,"\u53ea\u8bfbmemory\u8f93\u5165":2,"\u53ea\u9488\u5bf9\u5185\u5b58":14,"\u53ea\u9700\u8981\u4f7f\u7528\u4e00\u884c\u4ee3\u7801\u5373\u53ef\u4ee5\u8bbe\u7f6e\u8bad\u7ec3\u5f15\u7528\u8fd9\u4e2adataprovid":24,"\u53ea\u9700\u8981\u5728":24,"\u53ea\u9700\u8981\u77e5\u9053\u8fd9\u53ea\u662f\u4e00\u4e2a\u6807\u8bb0\u5c5e\u6027\u7684\u65b9\u6cd5\u5c31\u53ef\u4ee5\u4e86":24,"\u53ef\u4ee5":1,"\u53ef\u4ee5\u4e3a\u4e00\u4e2a\u6570\u636e\u6587\u4ef6\u8fd4\u56de\u591a\u6761\u8bad\u7ec3\u6837\u672c":24,"\u53ef\u4ee5\u4f20\u516510k":3,"\u53ef\u4ee5\u4f30\u8ba1\u51fa\u5982\u679c\u6a21\u578b\u91c7\u7528\u4e0d\u53d8\u7684\u8f93\u51fa\u6700\u5c0f\u7684cost0\u662f\u591a\u5c11":14,"\u53ef\u4ee5\u4f7f\u7528":[3,14],"\u53ef\u4ee5\u4f7f\u7528\u547d\u4ee4":10,"\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u4ee3\u7801":14,"\u53ef\u4ee5\u4f7f\u7528\u8bad\u7ec3\u597d\u7684\u6a21\u578b\u8bc4\u4f30\u5e26\u6709label\u7684\u9a8c\u8bc1\u96c6":13,"\u53ef\u4ee5\u4f7f\u7528graphviz\u5bf9paddlepaddle\u7684\u7f51\u7edc\u6a21\u578b\u8fdb\u884c\u7ed8\u5236":17,"\u53ef\u4ee5\u4f7f\u7528paddl":17,"\u53ef\u4ee5\u4f7f\u7528python\u7684":27,"\u53ef\u4ee5\u51cf\u5c11\u7f13\u5b58\u6c60\u7684\u5927\u5c0f":14,"\u53ef\u4ee5\u53c2\u8003":13,"\u53ef\u4ee5\u5728\u4e00\u4e2a\u51fd\u6570\u91cc":24,"\u53ef\u4ee5\u5728cmake\u7684\u547d\u4ee4\u884c\u8bbe\u7f6e":4,"\u53ef\u4ee5\u5c06\u4e00\u6761\u6570\u636e\u8bbe\u7f6e\u6210\u591a\u4e2abatch":24,"\u53ef\u4ee5\u5c06memory\u7406\u89e3\u4e3a\u4e00\u4e2a\u65f6\u5ef6\u64cd\u4f5c":2,"\u53ef\u4ee5\u5c06paddlepaddle\u7684\u6a21\u578b\u548c\u914d\u7f6e\u6253\u5305\u6210\u4e00\u4e2a\u6587\u4ef6":17,"\u53ef\u4ee5\u5c06paddlepaddle\u7684\u8bad\u7ec3\u6a21\u578b\u4ee5proto":17,"\u53ef\u4ee5\u65b9\u4fbf\u5d4c\u5165\u5f0f\u5de5\u4f5c":4,"\u53ef\u4ee5\u662f\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":2,"\u53ef\u4ee5\u662f\u4e00\u4e2a\u975e\u5e8f\u5217":2,"\u53ef\u4ee5\u663e\u793a\u5730\u6307\u5b9a\u4e00\u4e2alayer\u7684\u8f93\u51fa\u7528\u4e8e\u521d\u59cb\u5316memori":2,"\u53ef\u4ee5\u6709\u4ee5\u4e0b\u4e24\u79cd":2,"\u53ef\u4ee5\u6839\u636e\u4e0d\u540c\u7684\u6570\u636e\u914d\u7f6e\u4e0d\u540c\u7684\u8f93\u5165\u7c7b\u578b":24,"\u53ef\u4ee5\u770b\u4f5c\u662f\u4e00\u4e2a\u975e\u5e8f\u5217\u8f93\u5165":0,"\u53ef\u4ee5\u8003\u8651\u4f7f\u7528\u4e00\u4e9b\u4f18\u5316\u7b97\u6cd5":14,"\u53ef\u4ee5\u8fd4\u56de\u4e00\u4e2adict":24,"\u53ef\u4ee5\u901a\u8fc7show":13,"\u53ef\u7528\u5728\u6d4b\u8bd5\u6216\u8bad\u7ec3\u65f6\u6307\u5b9a\u521d\u59cb\u5316\u6a21\u578b":13,"\u53ef\u80fd\u7684\u4ee3\u7801\u4e3a":14,"\u53ef\u80fd\u7684\u5185\u5b58\u6cc4\u9732\u95ee\u9898":23,"\u53ef\u80fd\u7684\u8f93\u51fa\u4e3a":10,"\u53ef\u9009":24,"\u5403":1,"\u5403\u996d":1,"\u5404\u65b9\u9762":1,"\u5404\u79cd\u53c2\u6570\u548c\u7ef4\u62a4":3,"\u5408":1,"\u5408\u7406":1,"\u540c\u65f6":[3,4,14,24],"\u540c\u65f6\u4e5f\u53ef\u4ee5\u52a0\u901f\u5f00\u59cb\u8bad\u7ec3\u524d\u6570\u636e\u8f7d\u5165\u7684\u8fc7\u7a0b":14,"\u540c\u65f6\u4e5f\u80fd\u591f\u5f15\u5165\u66f4\u52a0\u590d\u6742\u7684\u8bb0\u5fc6\u673a\u5236":2,"\u540c\u65f6\u4f1a\u8ba1\u7b97\u5206\u7c7b\u51c6\u786e\u7387":13,"\u540c\u65f6\u5728\u5185\u5b58\u91cc\u76f4\u63a5\u968f\u5373\u9009\u53d6\u6570\u636e\u6765\u505ashuffl":14,"\u540c\u65f6\u5c06\u53c2\u6570\u521d\u59cb\u5316\u4e3a":14,"\u540c\u65f6\u6b22\u8fce\u8d21\u732e\u66f4\u591a\u7684\u5b89\u88c5\u5305":8,"\u540c\u65f6\u8bbe\u7f6e\u5185\u5b58\u7f13\u5b58\u529f\u80fd":14,"\u540c\u6837\u53ef\u4ee5\u6269\u5c55\u5230\u53cc\u5c42\u5e8f\u5217\u7684\u5904\u7406\u4e0a":2,"\u540d\u79f0":13,"\u540e":14,"\u540e\u9762\u8ddf\u7740\u4e00\u7cfb\u5217\u7f16\u8bd1\u53c2\u6570":22,"\u5411\u91cf\u8868\u793a":13,"\u5426":4,"\u5426\u5219":23,"\u5426\u5219\u5728\u7b2c0\u4e2a\u65f6\u95f4\u6b65\u65f6":1,"\u5426\u5219\u9700\u8981\u9009\u62e9\u975eavx\u7684paddlepaddl":9,"\u5440":1,"\u5468\u56f4":1,"\u547d\u4ee4":3,"\u547d\u4ee4\u4e3a":9,"\u547d\u4ee4\u5373\u53ef\u5b8c\u6210\u5b89\u88c5":10,"\u547d\u4ee4\u6307\u5b9a\u7684\u53c2\u6570\u4f1a\u4f20\u5165\u7f51\u7edc\u914d\u7f6e\u4e2d":13,"\u547d\u4ee4\u8fd0\u884c\u955c\u50cf":9,"\u547d\u4ee4\u9884\u5148\u4e0b\u8f7d\u955c\u50cf":9,"\u548c\u4e00\u4e2a\u5df2\u7ecf\u5206\u8bcd\u540e\u7684\u53e5\u5b50":1,"\u548c\u4e09\u79cd\u5e8f\u5217\u6a21\u5f0f":24,"\u548c\u4e4b\u524d\u51cf\u5c0f\u901a\u8fc7\u51cf\u5c0f\u7f13\u5b58\u6c60\u6765\u51cf\u5c0f\u5185\u5b58\u5360\u7528\u7684\u539f\u7406\u4e00\u81f4":14,"\u548c\u53cc\u5c42\u5e8f\u5217\u542b\u6709subseq":0,"\u548c\u53cc\u5c42rnn":1,"\u548c\u5dee\u8bc4":13,"\u548c\u5e8f\u5217\u4e2d\u542b\u6709\u5143\u7d20\u7684\u6570\u76ee\u540c":0,"\u548c\u6587\u672c\u4fe1\u606f\u7528tab\u95f4\u9694":13,"\u548c\u6d4b\u8bd5\u6587\u4ef6\u5217\u8868":23,"\u548c\u7528\u6237\u4f20\u5165\u7684\u53c2\u6570":24,"\u548c\u90e8\u5206layer":2,"\u548c\u9884\u5904\u7406\u811a\u672c":13,"\u548cavgpool":0,"\u548ccudnn":10,"\u548cinitalizer\u91cc\u5b9a\u4e49\u987a\u5e8f\u4e00\u81f4":13,"\u54c1\u8d28":1,"\u5546\u52a1":1,"\u554a":1,"\u5668":13,"\u56db\u4e2a\u7248\u672c":10,"\u56db\u79cd\u6570\u636e\u7c7b\u578b\u662f":24,"\u56e0\u6b64":2,"\u56e0\u6b642\u4e2abatch\u5c31\u53ef\u4ee5\u5b8c\u62101\u4e2apass":1,"\u56e0\u6b64\u4e0a\u8ff0\u4e09\u4e2alayer\u7684\u524d\u5411\u4f1a\u62a5\u51fa":1,"\u56e0\u6b64\u4e24\u4e2a\u914d\u7f6e\u5728\u8fd9\u4e24\u5c42\u4e0a\u7684\u8f93\u51fa\u662f\u4e00\u6837\u7684":1,"\u56e0\u6b64\u5355\u53cc\u5c42\u5e8f\u5217\u7684\u8f93\u51fa\u662f\u4e00\u6837\u65f3":1,"\u56e0\u6b64\u53cc\u5c42\u5e8f\u5217\u7684\u914d\u7f6e\u4e2d":1,"\u56e0\u6b64\u53cc\u5c42\u5e8f\u5217\u8fc7\u5b8clstmemory\u7684\u8f93\u51fa\u548c\u5355\u5c42\u7684\u4e00\u6837":1,"\u56e0\u6b64\u5f53\u5916\u5c42\u6709i":1,"\u56fe\u50cf\u5206\u7c7b":12,"\u5728":[0,1,4,10,24],"\u5728\u4e4b\u540e\u7684":14,"\u5728\u4f7f\u7528":14,"\u5728\u53cd\u5411\u4f20\u9012\u7684\u65f6\u5019":14,"\u5728\u58f0\u660edataprovider\u7684\u65f6\u5019\u4f20\u5165\u4e86dictionary\u4f5c\u4e3a\u53c2\u6570":24,"\u5728\u5b8c\u6210\u4e86\u6570\u636e\u548c\u7f51\u7edc\u7ed3\u6784\u642d\u5efa\u4e4b\u540e":13,"\u5728\u5e8f\u5217\u751f\u6210\u4efb\u52a1\u4e2d":2,"\u5728\u672c\u95ee\u9898\u4e2d":13,"\u5728\u6a21\u578b\u914d\u7f6e\u4e2d\u5229\u7528":13,"\u5728\u6b64\u4e3a\u65b9\u4fbf\u5bf9\u6bd4\u4e0d\u540c\u7f51\u7edc\u7ed3\u6784":13,"\u5728\u6bcf\u4e2a\u7ef4\u5ea6\u4e0a\u53d6\u51fa\u5728\u8be5\u53e5\u8bdd\u65b0\u7684\u5411\u91cf\u96c6\u5408\u4e0a\u8be5\u7ef4\u5ea6\u7684\u6700\u5927\u503c\u4f5c\u4e3a\u6700\u540e\u7684\u53e5\u5b50\u8868\u793a\u5411\u91cf":13,"\u5728\u7a0b\u5e8f\u5f00\u59cb\u9636\u6bb5":27,"\u5728\u81ea\u7136\u8bed\u8a00\u5904\u7406\u4efb\u52a1\u4e2d":0,"\u5728\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u8fdb\u884c\u6d4b\u8bd5":23,"\u5728\u8bad\u7ec3\u914d\u7f6e\u91cc":24,"\u5728\u8f93\u51fa\u7684\u8fc7\u7a0b\u4e2d":2,"\u5728\u8fd9\u4e2a\u51fd\u6570\u4e2d":24,"\u5728\u8fd9\u79cd\u7ed3\u6784\u4e2d":2,"\u5728\u8fd9\u91cc":2,"\u5728\u914d\u7f6e\u4e2d\u8bfb\u53d6\u4e86\u5b57\u5178":24,"\u5728\u91c7\u7528sgd":14,"\u5728cmake\u914d\u7f6e\u65f6\u53ef\u4ee5\u4f7f\u7528":4,"\u5728paddlepaddle\u4e2d":2,"\u5728pydataprovider\u4e2d":24,"\u5728python\u73af\u5883\u4e0b\u9884\u6d4b\u7ed3\u679c":27,"\u5728step\u51fd\u6570\u4e2d\u5b9a\u4e49":2,"\u5728step\u51fd\u6570\u4e2d\u5b9a\u4e49memori":2,"\u5730\u6bb5":1,"\u5730\u7406\u4f4d\u7f6e":1,"\u5730\u94c1\u7ad9":1,"\u5747\u5300\u5206\u5e03":14,"\u57fa\u4e8e\u53cc\u5c42\u5e8f\u5217\u8f93\u5165":2,"\u57fa\u672c\u4e0a\u4e0d\u80fd\u6574\u4f53\u4fee\u6b63":24,"\u57fa\u672c\u7684\u5904\u7406\u903b\u8f91\u4e5f\u548cmnist\u903b\u8f91\u4e00\u81f4":24,"\u57fa\u672c\u7684pydataprovider\u4f7f\u7528\u4ecb\u7ecd\u5b8c\u6bd5\u4e86":24,"\u5904\u7406\u7684\u8f93\u5165\u5e8f\u5217\u4e3b\u8981\u5206\u4e3a\u4ee5\u4e0b\u4e09\u79cd\u7c7b\u578b":2,"\u5916\u5c42memory\u5fc5\u987b\u6709boot":1,"\u5916\u5c42memory\u662f\u4e00\u4e2a\u5143\u7d20":1,"\u5916\u5c42memory\u662f\u5355\u5c42\u5e8f\u5217":1,"\u5916\u5c42outer":1,"\u591a\u4e2ainput\u4ee5list\u65b9\u5f0f\u8f93\u5165":13,"\u591a\u53e5\u8bdd\u8fdb\u4e00\u6b65\u6784\u6210\u4e86\u6bb5\u843d":2,"\u591a\u673a\u8bad\u7ec3":14,"\u591a\u6b21\u8fd4\u56de\u53d8\u91cf":24,"\u591a\u7ebf\u7a0b\u4e0b\u8f7d\u8fc7\u7a0b\u4e2d":3,"\u591a\u7ebf\u7a0b\u6570\u636e\u8bfb\u53d6":24,"\u591a\u8f6e\u5bf9\u8bdd\u7b49\u66f4\u4e3a\u590d\u6742\u7684\u8bed\u8a00\u6570\u636e":2,"\u5927":24,"\u5929":1,"\u5929\u4e00\u5e7f\u573a":1,"\u5929\u4e00\u9601":1,"\u597d":1,"\u597d\u5403":1,"\u597d\u8bc4":13,"\u5982\u4e0b":1,"\u5982\u679c":[10,24],"\u5982\u679c\u4e0d\u4e86\u89e3":24,"\u5982\u679c\u4e0d\u4f7f\u7528\u5219\u4f1a\u4f7f\u7528\u4e00\u4e2a\u7b80\u5316\u7248\u7684\u547d\u4ee4\u884c\u53c2\u6570\u89e3\u6790":4,"\u5982\u679c\u4e0d\u4f7f\u7528\u5219\u4f1a\u4f7f\u7528\u4e00\u4e2a\u7b80\u5316\u7248\u7684\u65e5\u5fd7\u5b9e\u73b0":4,"\u5982\u679c\u4e0d\u5207\u8bcd":13,"\u5982\u679c\u4e0d\u6536\u655b":14,"\u5982\u679c\u4e0d\u8bbe\u7f6e\u7684\u8bdd":24,"\u5982\u679c\u4f7f\u7528gpu\u7248\u672c\u7684paddlepaddl":10,"\u5982\u679c\u5185\u5c42memory\u60f3":1,"\u5982\u679c\u53c2\u6570\u4fdd\u5b58\u4e0b\u6765\u7684":14,"\u5982\u679c\u5728":10,"\u5982\u679c\u5728\u7b2c\u4e00\u6b21cmake\u4e4b\u540e\u60f3\u8981\u91cd\u65b0\u8bbe":4,"\u5982\u679c\u5728\u8bad\u7ec3\u65f6":24,"\u5982\u679c\u5c06\u8fd9\u4e2a\u5185\u5b58\u6c60\u51cf\u5c0f":14,"\u5982\u679c\u5c0f\u4e8e\u8fd9\u4e2a\u4e0b\u8f7d\u901f\u5ea6":3,"\u5982\u679c\u60a8\u4f7f\u7528":9,"\u5982\u679c\u60f3\u8981\u5728\u5916\u90e8\u673a\u5668\u8bbf\u95ee\u8fd9\u4e2acontain":9,"\u5982\u679c\u662ffalse\u7684\u8bdd":24,"\u5982\u679c\u662ftrue\u7684\u8bdd":24,"\u5982\u679c\u6709\u591a\u4e2a\u8f93\u5165":2,"\u5982\u679c\u6709\u591a\u4e2a\u8f93\u5165\u5e8f\u5217":2,"\u5982\u679c\u6709\u66f4\u590d\u6742\u7684\u4f7f\u7528":23,"\u5982\u679c\u6ca1\u6709\u5b9a\u4e49memori":2,"\u5982\u679c\u7528\u6237\u4e0d\u6307\u5b9a\u8fd4\u56de\u6570\u636e\u7684\u5bf9\u5e94\u5173\u7cfb":24,"\u5982\u679c\u7528\u6237\u60f3\u8981\u81ea\u5b9a\u4e49\u521d\u59cb\u5316\u65b9\u5f0f":14,"\u5982\u679c\u8bad\u7ec3\u4e00\u4e2apass":14,"\u5982\u679c\u8bad\u7ec3\u8fc7\u7a0b\u7684\u7684cost\u660e\u663e\u9ad8\u4e8e\u8fd9\u4e2a\u5e38\u6570\u8f93\u51fa\u7684cost":14,"\u5982\u679c\u8bbe\u7f6e\u6210true\u7684\u8bdd":24,"\u5982\u679c\u8f93\u51fa":9,"\u5982\u679c\u8fd0\u884cgpu\u7248\u672c\u7684paddlepaddl":9,"\u5982\u679clearning_rate\u592a\u5927":14,"\u5982\u679clearning_rate\u592a\u5c0f":14,"\u5982\u679ctest":23,"\u5b50":1,"\u5b50\u53e5":2,"\u5b50\u53e5\u7684\u5355\u8bcd\u6570\u548c\u6307\u5b9a\u7684\u4e00\u4e2a\u8f93\u5165\u5e8f\u5217\u4e00\u81f4":2,"\u5b81\u6ce2":1,"\u5b83\u5305\u542b\u7684\u53c2\u6570\u6709":24,"\u5b83\u7684":1,"\u5b83\u7684\u6bcf\u4e00\u4e2a\u5143\u7d20":0,"\u5b89\u6392":1,"\u5b89\u88c5\u5305":14,"\u5b89\u88c5\u5305\u5728ubuntu":10,"\u5b89\u88c5\u5305\u7684\u4e0b\u8f7d\u5730\u5740\u662f":10,"\u5b89\u88c5\u597d\u7684paddlepaddle\u811a\u672c\u5305\u62ec\u591a\u6761\u547d\u4ee4":17,"\u5b89\u88c5\u5b8c\u6210\u540e":10,"\u5b89\u88c5\u5b8c\u6210\u7684paddlepaddle\u4e3b\u4f53\u5305\u62ec\u4e09\u4e2a\u90e8\u5206":9,"\u5b89\u88c5\u5b8c\u6210paddlepaddle\u540e":10,"\u5b89\u88c5\u6559\u7a0b":13,"\u5b89\u88c5\u65b9\u6cd5\u8bf7\u53c2\u8003":9,"\u5b89\u88c5\u7f16\u8bd1\u4f9d\u8d56":6,"\u5b89\u88c5\u7f16\u8bd1paddlepaddle\u9700\u8981\u7684\u4f9d\u8d56":5,"\u5b89\u88c5docker\u9700\u8981\u60a8\u7684\u673a\u5668":9,"\u5b89\u88c5paddlepaddl":13,"\u5b89\u88c5paddlepaddle\u7684docker\u955c\u50cf":8,"\u5b89\u9759":1,"\u5b8c\u6210\u4efb\u610f\u7684\u8fd0\u7b97\u903b\u8f91":2,"\u5b8c\u6210\u591a\u673a\u8bad\u7ec3":17,"\u5b8c\u6210\u76f8\u5e94\u7684\u8ba1\u7b97":0,"\u5b8c\u6574\u4ee3\u7801\u89c1":27,"\u5b9a\u4e49\u4e00\u4e2a\u65f6\u95f4\u6b65\u4e4b\u5185rnn\u5355\u5143\u5b8c\u6210\u7684\u8ba1\u7b97":2,"\u5b9a\u4e49\u4e86\u4e00\u4e2a\u53ea\u8bfb\u7684memori":2,"\u5b9a\u4e49\u5728\u5916\u5c42":2,"\u5b9a\u4e49\u6587\u672c\u4fe1\u606f":13,"\u5b9e\u73b0\u4e86\u6253\u5f00\u6587\u672c\u6587\u4ef6":24,"\u5b9e\u73b0\u8bcd\u8bed\u548c\u53e5\u5b50\u4e24\u4e2a\u7ea7\u522b\u7684\u53cc\u5c42rnn\u7ed3\u6784":2,"\u5b9e\u9645\u4e2d\u5e76\u4e0d\u9700\u8981":1,"\u5ba2\u6237":1,"\u5bb6":1,"\u5bc6\u7801\u4e5f\u662froot":9,"\u5bf9":1,"\u5bf9\u4e8e\u7528\u6237\u6765\u8bf4":24,"\u5bf9\u4e8e\u7ed9\u5b9a\u7684\u4e00\u6761\u6587\u672c":13,"\u5bf9\u4e8ecuda\u7684toolkit\u6709\u65ad\u70b9\u7eed\u4f20\u548c\u4f20\u8f93\u901f\u5ea6\u8fc7\u5c0f\u91cd\u542f\u4e0b\u8f7d\u7684":3,"\u5bf9\u4e8emnist\u800c\u8a00":24,"\u5bf9\u5e94\u4e00\u4e2a\u5b50\u53e5":2,"\u5bf9\u5e94\u4e00\u4e2a\u8bcd":2,"\u5bf9\u8be5\u8868\u793a\u8fdb\u884c\u975e\u7ebf\u6027\u53d8\u6362":13,"\u5bf9\u8c61":[14,24],"\u5bf9\u8c61convert":27,"\u5bf9\u8f93\u51fa\u7684\u5408\u5e76":2,"\u5bf9\u9762":1,"\u5bfc\u81f4\u8bad\u7ec3\u65f6\u95f4\u8fc7\u957f":14,"\u5c06":14,"\u5c06\u4f1a\u6d4b\u8bd5\u914d\u7f6e\u6587\u4ef6\u4e2dtest":13,"\u5c06\u5176\u6269\u5c55\u6210\u4e00\u4e2a\u65b0\u7684\u53cc\u5c42\u5e8f\u5217":1,"\u5c06\u5176\u62fc\u63a5\u6210\u4e00\u4e2a\u65b0\u7684\u5355\u5c42\u5e8f\u5217":1,"\u5c06\u5176\u8bbe\u7f6e\u6210":14,"\u5c06\u542b\u6709\u5b50\u53e5":2,"\u5c06\u542b\u6709\u8bcd\u8bed\u7684\u53e5\u5b50\u5b9a\u4e49\u4e3a\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":2,"\u5c06\u5b57\u5178\u5b58\u5165\u4e86set":24,"\u5c06\u5bbf\u4e3b\u673a\u76848022\u7aef\u53e3\u6620\u5c04\u5230container\u768422\u7aef\u53e3\u4e0a":9,"\u5c06\u6570\u636e\u7ec4\u5408\u6210batch\u8bad\u7ec3":24,"\u5c06\u6587\u4ef6\u7684\u7edd\u5bf9\u8def\u5f84\u6216\u76f8\u5bf9\u8def\u5f84":23,"\u5c06\u8bc4\u8bba\u5206\u4e3a\u597d\u8bc4":13,"\u5c06\u8be5\u53e5\u8bdd\u5305\u542b\u7684\u6240\u6709\u5355\u8bcd\u5411\u91cf\u6c42\u5e73\u5747\u5f97\u5230\u53e5\u5b50\u7684\u8868\u793a":13,"\u5c06ssh\u88c5\u5165\u7cfb\u7edf\u5185\u5e76\u5f00\u542f\u8fdc\u7a0b\u8bbf\u95ee":9,"\u5c1a\u53ef":1,"\u5c31":[1,24],"\u5c31\u50cf\u8fd9\u4e2a\u6837\u4f8b\u4e00\u6837":24,"\u5c31\u5f88\u5bb9\u6613\u5bfc\u81f4\u5185\u5b58\u8d85\u9650":14,"\u5c31\u662f":1,"\u5c31\u662f\u5c06\u8fd9\u4e9b\u52a8\u6001\u5e93\u52a0\u5230\u73af\u5883\u53d8\u91cf\u91cc\u9762":10,"\u5c42\u6b21\u5316\u7684rnn":2,"\u5c45\u7136":1,"\u5c5e\u6027":24,"\u5dee\u8bc4":13,"\u5e2e\u52a9\u6211\u4eec\u5b8c\u6210\u5bf9\u8f93\u5165\u5e8f\u5217\u7684\u62c6\u5206":2,"\u5e2e\u52a9\u6211\u4eec\u66f4\u597d\u5730\u63cf\u8ff0\u6bb5\u843d":2,"\u5e2e\u52a9\u6211\u4eec\u6784\u9020\u4e00\u4e9b\u590d\u6742\u7684\u8f93\u5165\u4fe1\u606f":0,"\u5e38\u89c1\u7684\u8f93\u51fa\u683c\u5f0f\u4e3a":22,"\u5e72\u51c0":1,"\u5e76\u4e14":24,"\u5e76\u4e14\u4f7f\u7528\u5173\u952e\u8bcd":24,"\u5e76\u4e14\u5220\u9664container\u4e2d\u7684\u6570\u636e":9,"\u5e76\u4e14\u53ef\u80fd\u4f1a\u52a0\u901f\u8bad\u7ec3\u8fc7\u7a0b":14,"\u5e76\u4e14\u5728\u5185\u5b58\u8db3\u591f":24,"\u5e76\u4e14\u6807\u8bb0process\u51fd\u6570\u662f\u4e00\u4e2adataprovid":24,"\u5e76\u4e14softmax\u5c42\u7684\u4e24\u4e2a\u8f93\u5165\u4e5f\u4f7f\u7528\u4e86\u540c\u6837\u7684\u53c2\u6570":14,"\u5e76\u4f7f\u7528\u4e86dropout":13,"\u5e76\u572823\u884c\u8fd4\u56de\u7ed9paddlepaddle\u8fdb\u7a0b":24,"\u5e76\u5bf9\u5176\u8be6\u7ec6\u5206\u6790":1,"\u5e76\u5c06\u6bcf\u884c\u8f6c\u6362\u6210\u548c":24,"\u5e76\u63d0\u4f9b":9,"\u5e76\u63d0\u4f9b\u4e86\u7b80\u5355\u7684cache\u529f\u80fd":24,"\u5e76\u8bbe\u7f6e\u597d\u5bf9\u5e94\u7684\u73af\u5883\u53d8\u91cf":10,"\u5e76\u9010\u6e10\u5c55\u793a\u66f4\u52a0\u6df1\u5165\u7684\u529f\u80fd":13,"\u5e8a\u4e0a\u7528\u54c1":1,"\u5e8a\u57ab":1,"\u5e8f\u5217\u4e2d\u542b\u6709\u5143\u7d20\u7684\u6570\u76ee\u540clayer2\u4e00\u81f4":0,"\u5e8f\u5217\u6570\u636e\u548c\u4e0a\u9762\u7684\u5b8c\u5168\u4e00\u6837":1,"\u5e8f\u5217\u6570\u636e\u662f\u81ea\u7136\u8bed\u8a00\u5904\u7406\u4efb\u52a1\u9762\u5bf9\u7684\u4e00\u79cd\u4e3b\u8981\u8f93\u5165\u6570\u636e\u7c7b\u578b":2,"\u5e8f\u5217\u662f\u4e00\u79cd\u5e38\u89c1\u7684\u6570\u636e\u7c7b\u578b":0,"\u5e8f\u5217\u6a21\u578b\u6570\u636e\u63d0\u4f9b":23,"\u5e8f\u5217\u6a21\u578b\u662f\u6307\u6570\u636e\u7684\u67d0\u4e00\u7ef4\u5ea6\u662f\u4e00\u4e2a\u5e8f\u5217\u5f62\u5f0f":24,"\u5e8f\u5217\u751f\u6210\u4efb\u52a1\u5927\u591a\u9075\u5faaencod":2,"\u5e8f\u5217\u751f\u6210\u4efb\u52a1\u7684\u8f93\u5165":2,"\u5e8f\u5217\u7684\u6bcf\u4e2a\u5143\u7d20\u662f\u539f\u6765\u53cc\u5c42\u5e8f\u5217\u6bcf\u4e2asubseq\u5143\u7d20\u7684\u5e73\u5747\u503c":0,"\u5e93\u7684\u8bdd":10,"\u5e94\u8be5":1,"\u5e94\u8be5\u964d\u4f4e\u5b66\u4e60\u7387":14,"\u5f00\u542fgpu\u8bad\u7ec3":14,"\u5f0f":24,"\u5f15\u7528\u7684dataprovider\u662f":24,"\u5f15\u7528memory\u5f97\u5230\u8fd9layer\u4e0a\u4e00\u65f6\u523b\u8f93\u51fa":2,"\u5f3a\u70c8\u63a8\u8350":1,"\u5f53\u51fd\u6570\u8fd4\u56de\u7684\u65f6\u5019":24,"\u5f53\u524d\u7684\u8f93\u5165y\u548c\u4e0a\u4e00\u4e2a\u65f6\u95f4\u6b65\u7684\u8f93\u51farnn":1,"\u5f53\u524dlog_period\u4e2abatch\u6240\u6709\u6837\u672c\u7684\u5e73\u5747\u5206\u7c7b\u9519\u8bef\u7387":13,"\u5f53\u524dlog_period\u4e2abatch\u6240\u6709\u6837\u672c\u7684\u5e73\u5747cost":13,"\u5f53\u7136":23,"\u5f53\u8c03":24,"\u5f62\u6210recurr":2,"\u5f62\u6210recurrent\u8fde\u63a5":2,"\u5f88":[1,13],"\u5f88\u591a":1,"\u5f88\u5b89\u9759":1,"\u5f88\u5e72\u51c0":1,"\u5f88\u65b9\u4fbf":1,"\u5f97":1,"\u5f97\u5230\u7ed3\u679c":10,"\u5faa\u73af\u5c55\u5f00\u7684\u6bcf\u4e2a\u65f6\u95f4\u6b65\u603b\u662f\u80fd\u591f\u5f15\u7528\u6240\u6709\u8f93\u5165":2,"\u5fc5\u987b\u5c06\u524d\u4e00\u4e2a\u5b50\u53e5\u7684\u6700\u540e\u4e00\u4e2a\u5143\u7d20":1,"\u5fc5\u987b\u6307\u5411\u4e00\u4e2apaddlepaddle\u5b9a\u4e49\u7684lay":2,"\u5fc5\u987b\u662f\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":2,"\u5fc5\u987b\u662f\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217":0,"\u5feb":1,"\u5feb\u901f\u5165\u95e8":15,"\u5ff5\u662f":24,"\u6027\u4ef7\u6bd4":1,"\u603b\u4f53\u6765\u8bf4":1,"\u60a8\u4e5f\u53ef\u4ee5\u91c7\u7528\u522b\u7684\u7ec4\u7ec7\u5f62\u5f0f":1,"\u60a8\u53ef\u4ee5\u4f7f\u7528":9,"\u60a8\u5c31\u53ef\u4ee5\u8fdc\u7a0b\u7684\u4f7f\u7528paddlepaddle\u5566":9,"\u60a8\u9700\u8981\u5728\u673a\u5668\u4e2d\u5b89\u88c5\u597ddocker":9,"\u60a8\u9700\u8981\u8fdb\u5165\u955c\u50cf\u8fd0\u884cpaddlepaddl":9,"\u60c5\u611f\u5206\u6790":12,"\u60f3\u8981\u8fd0\u884cpaddlepaddl":9,"\u611f\u89c9":1,"\u6210\u4e3a\u7ef4\u5ea6\u4e3ahidden":13,"\u6211\u4eec\u4ece\u63d0\u524d\u7ed9\u5b9a\u7684\u7c7b\u522b\u96c6\u5408\u4e2d\u9009\u62e9\u5176\u6240\u5c5e\u7c7b":13,"\u6211\u4eec\u4ee5\u6587\u672c\u5206\u7c7b\u95ee\u9898\u4f5c\u4e3a\u80cc\u666f":13,"\u6211\u4eec\u4f7f\u7528":13,"\u6211\u4eec\u53ef\u4ee5\u6309\u7167\u5982\u4e0b\u5c42\u6b21\u5b9a\u4e49\u975e\u5e8f\u5217":0,"\u6211\u4eec\u53ef\u4ee5\u8bbe\u8ba1\u642d\u5efa\u4e00\u4e2a\u7075\u6d3b\u7684":2,"\u6211\u4eec\u5728":1,"\u6211\u4eec\u5728\u6b64\u603b":13,"\u6211\u4eec\u5c06\u4ee5\u57fa\u672c\u7684\u903b\u8f91\u56de\u5f52\u7f51\u7edc\u4f5c\u4e3a\u8d77\u70b9":13,"\u6211\u4eec\u5c06\u5728\u540e\u9762\u4ecb\u7ecd\u8bad\u7ec3\u548c\u9884\u6d4b\u7684\u6d41\u7a0b\u7684\u811a\u672c":13,"\u6211\u4eec\u5c06\u8bad\u7ec3\u7684\u547d\u4ee4\u884c\u4fdd\u5b58\u5728\u4e86":13,"\u6211\u4eec\u63a8\u8350\u4f7f\u7528docker\u955c\u50cf\u6765\u90e8\u7f72\u73af\u5883":8,"\u6211\u4eec\u63d0\u4f9b\u4e8612\u4e2a":9,"\u6211\u4eec\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5de5\u5177\u7c7bdataproviderconvert":27,"\u6211\u4eec\u770b\u4e00\u4e0b\u5355\u53cc\u5c42\u5e8f\u5217\u7684\u4e0d\u540c\u6570\u636e\u7ec4\u7ec7\u5f62\u5f0f":1,"\u6211\u4eec\u770b\u4e00\u4e0b\u5355\u53cc\u5c42\u5e8f\u5217\u7684\u4e0d\u540c\u6570\u636e\u7ec4\u7ec7\u5f62\u5f0f\u548cdataprovid":1,"\u6211\u4eec\u770b\u4e00\u4e0b\u5355\u53cc\u5c42\u5e8f\u5217\u7684\u4e0d\u540cdataprovid":1,"\u6211\u4eec\u770b\u4e00\u4e0b\u5355\u5c42\u5e8f\u5217\u7684\u914d\u7f6e":1,"\u6211\u4eec\u770b\u4e00\u4e0b\u8bed\u4e49\u76f8\u540c\u7684\u53cc\u5c42\u5e8f\u5217\u914d\u7f6e":1,"\u6211\u4eec\u79f0\u4e4b\u4e3a\u4e00\u4e2a0\u5c42\u7684\u5e8f\u5217":0,"\u6211\u4eec\u8fdb\u5165\u5230\u8bad\u7ec3\u90e8\u5206":13,"\u6211\u4eec\u9009\u53d6\u5355\u53cc\u5c42\u5e8f\u5217\u914d\u7f6e\u4e2d\u7684\u4e0d\u540c\u90e8\u5206":1,"\u6211\u4eec\u91c7\u7528\u5355\u5c42lstm\u6a21\u578b":13,"\u6211\u4eec\u968f\u65f6\u603b\u7ed3\u4e86\u5404\u4e2a\u7f51\u7edc\u7684\u590d\u6742\u5ea6\u548c\u6548\u679c":13,"\u6216":1,"\u6216\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":0,"\u6216\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217\u7ecf\u8fc7\u8fd0\u7b97\u53d8\u6210\u4e00\u4e2a0\u5c42\u5e8f\u5217":0,"\u6216\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217":0,"\u6216\u4e00\u4e2a\u5411\u91cf":2,"\u6216\u5176\u4ed6":13,"\u6216\u5355\u5c42\u5e8f\u5217":0,"\u6216\u5355\u5c42\u5e8f\u5217\u7ecf\u8fc7\u8fd0\u7b97\u53d8\u6210\u4e00\u4e2a0\u5c42\u5e8f\u5217":0,"\u6216\u6700\u5927\u503c":0,"\u6216\u7b2c\u4e00\u4e2a":0,"\u6216\u7b2c\u4e00\u4e2a\u5143\u7d20":0,"\u6216\u8005":[0,9,14],"\u6216\u800510g\u8fd9\u6837\u7684\u5355\u4f4d":3,"\u6216\u8005\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":2,"\u6216\u8005\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217":[0,2],"\u6216\u8005\u4f7f\u7528\u4e0b\u9762\u4e00\u6761\u547d\u4ee4\u5b89\u88c5":10,"\u6216\u8005\u5728python":24,"\u6216\u8005\u6570\u636e\u5e93\u8fde\u63a5\u5730\u5740\u7b49\u7b49":23,"\u6216\u8005\u662f\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217":0,"\u6216\u8005\u66f4\u65e9":14,"\u6216\u8005\u76f4\u63a5\u6254\u6389\u975e\u5e38\u957f\u7684\u5e8f\u5217":14,"\u6216\u8005\u8bbe\u7f6e\u4e3anone":23,"\u6216\u8005\u9700\u8981\u66f4\u9ad8\u7684\u6548\u7387":23,"\u6216\u8005\u9ad8\u6027\u80fd\u7684":9,"\u623f":1,"\u623f\u95f4":1,"\u6240\u4ee5":[14,24,27],"\u6240\u4ee5\u5728cpu\u7684\u8fd0\u7b97\u6027\u80fd\u4e0a\u5e76\u4e0d\u4f1a\u6709\u4e25\u91cd\u7684\u5f71\u54cd":9,"\u6240\u4ee5\u5982\u679c\u5bf9\u4e8e\u5185\u5b58\u6bd4\u8f83\u5c0f\u7684\u673a\u5668":24,"\u6240\u4ee5\u5982\u679c\u60f3\u8981\u5728\u540e\u53f0\u542f\u7528ssh":9,"\u6240\u4ee5\u5c06":24,"\u6240\u4ee5\u63a8\u8350\u4f7f\u7528\u663e\u5f0f\u6307\u5b9a\u8fd4\u56de\u503c\u548c\u6570\u636e\u5bf9\u5e94\u5173\u7cfb":24,"\u6240\u4ee5\u6700\u4f73\u5b9e\u8df5\u63a8\u8350\u4e0d\u8981\u5c06\u6bcf\u4e00\u4e2a\u6837\u672c\u90fd\u653e\u5165train":24,"\u6240\u4ee5\u7528\u4e8e\u9884\u6d4b\u7684\u914d\u7f6e\u6587\u4ef6\u8981\u505a\u76f8\u5e94\u7684\u4fee\u6539":27,"\u6240\u4ee5\u8f93\u51fa\u7684value\u5305\u542b\u4e24\u4e2a\u5411\u91cf":27,"\u6240\u4ee5gpu\u5728\u8fd0\u7b97\u6027\u80fd\u4e0a\u4e5f\u4e0d\u4f1a\u6709\u4e25\u91cd\u7684\u5f71\u54cd":9,"\u6240\u4ee5init_hook\u5c3d\u91cf\u4f7f\u7528":24,"\u6240\u6709\u5b57\u7b26\u90fd\u5c06\u8f6c\u6362\u4e3a\u8fde\u7eed\u6574\u6570\u8868\u793a\u7684id\u4f20\u7ed9\u6a21\u578b":13,"\u6240\u6709\u6587\u4ef6\u5217\u8868":24,"\u6240\u6709\u7684":4,"\u6240\u6709\u7684\u4e0b\u8f7d\u7ebf\u7a0b\u5173\u95ed\u65f6":3,"\u6240\u6709\u914d\u7f6e\u5728":13,"\u6240\u8c13\u65f6\u95f4\u6b65\u4fe1\u606f":24,"\u624d\u4f1a\u91ca\u653e\u8be5\u6bb5\u5185\u5b58":24,"\u624d\u4f1astop":24,"\u624d\u80fd\u4fdd\u8bc1\u548c\u5355\u5c42\u5e8f\u5217\u7684\u914d\u7f6e\u4e2d":1,"\u6253\u5370\u7684\u65e5\u5fd7\u53d8\u591a":4,"\u6267\u884c":3,"\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5373\u53ef\u4ee5\u5173\u95ed\u8fd9\u4e2acontain":9,"\u6267\u884c\u65b9\u6cd5\u5982\u4e0b":9,"\u62a5\u9519":10,"\u62c6\u89e3":2,"\u62fc\u63a5\u6210\u4e00\u4e2a\u65b0\u7684\u5411\u91cf\u8868\u793a":13,"\u6307\u4ee4\u96c6":9,"\u6307\u5411\u4e00\u4e2alayer":2,"\u6307\u5b9a":2,"\u6307\u5b9a\u521d\u59cb\u5316\u6a21\u578b\u8def\u5f84":13,"\u6307\u5b9a\u663e\u5361\u6570\u91cf":14,"\u6307\u5b9a\u751f\u6210\u6570\u636e\u7684\u51fd\u6570":13,"\u6307\u5b9a\u7684\u8f93\u5165\u4e0d\u4f1a\u88ab":2,"\u6307\u5b9a\u8bad\u7ec3":13,"\u6307\u5b9abatch":13,"\u6307\u5b9aoutputs\u8f93\u51fa\u6982\u7387\u5c42":13,"\u633a":1,"\u633a\u597d":1,"\u6362":1,"\u6389\u7f16\u8bd1\u76ee\u5f55\u540e":4,"\u6392\u6210\u4e00\u5217\u7684\u591a\u4e2a\u5143\u7d20":0,"\u63a5\u4e0b\u6765\u4f7f\u7528":27,"\u63a5\u53e3\u4f7f\u7528\u591a\u7ebf\u7a0b\u8bfb\u53d6\u6570\u636e":24,"\u63a5\u53e3\u6709\u4e00\u4e2a":14,"\u63a5\u7740":1,"\u63a8\u8350":1,"\u63a8\u8350\u4f7f\u7528\u5c06\u672c\u5730\u7f51\u5361":9,"\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u7248\u672c\u7684cudnn":4,"\u63a8\u8350\u6e05\u7406":4,"\u63a8\u8350\u76f4\u63a5\u653e\u7f6e\u5230\u8bad\u7ec3\u76ee\u5f55":23,"\u63a8\u8350\u8bbe\u7f6e":24,"\u63cf\u8ff0":4,"\u63cf\u8ff0\u4e86docker":3,"\u63d0\u4f9b\u6269\u5c55\u7684\u957f\u5ea6\u4fe1\u606f":0,"\u653e\u5fc3":1,"\u6548\u679c\u4e00\u81f4":24,"\u6548\u679c\u603b\u7ed3":13,"\u6559\u7a0b":13,"\u6570":2,"\u6570\u5fc5\u987b\u4e25\u683c\u76f8\u7b49":2,"\u6570\u636e":24,"\u6570\u636e\u4e2d0":14,"\u6570\u636e\u4f20\u8f93\u65e0\u9700label\u6570\u636e":13,"\u6570\u636e\u5904\u7406python\u6587\u4ef6\u540d":13,"\u6570\u636e\u5982\u4f55\u5b58\u50a8\u7b49\u7b49":24,"\u6570\u636e\u63d0\u4f9b":23,"\u6570\u636e\u6587\u4ef6\u5b58\u653e\u5728\u672c\u5730\u78c1\u76d8\u4e2d":23,"\u6570\u636e\u662f\u7ed9\u4e00\u6bb5\u82f1\u6587\u6587\u672c":24,"\u6570\u636e\u683c\u5f0f\u548c\u8be6\u7ec6\u6587\u6863\u8bf7\u53c2\u8003":13,"\u6570\u636e\u8f93\u5165":2,"\u6574\u4f53":1,"\u6574\u6d01":1,"\u6587\u4ef6":24,"\u6587\u4ef6\u4e2d":13,"\u6587\u4ef6\u4e3a":14,"\u6587\u672c\u4e2d\u7684\u5355\u8bcd\u7528\u7a7a\u683c\u5206\u9694":13,"\u6587\u672c\u4fe1\u606f\u5c31\u662f\u4e00\u4e2a\u5e8f\u5217":24,"\u6587\u672c\u5206\u7c7b\u95ee\u9898":13,"\u6587\u672c\u5377\u79ef\u5206\u4e3a\u4e09\u4e2a\u6b65\u9aa4":13,"\u6587\u672c\u751f\u6210":12,"\u6587\u6863":14,"\u65b0":1,"\u65b0\u5199layer":15,"\u65b9\u4fbf":1,"\u65b9\u4fbf\u8c03\u8bd5\u4f7f\u7528":17,"\u65b9\u4fbf\u90e8\u7f72\u5206\u53d1":17,"\u65c1\u8fb9":1,"\u65e0":1,"\u65e0\u6cd5\u76f4\u63a5\u4f7f\u7528":1,"\u65e0\u9700label\u76f8\u5173\u7684\u5c42":13,"\u65e9\u9910":1,"\u65f6":[0,14],"\u65f6\u5019":1,"\u65f6\u5e8f\u6a21\u578b\u5373\u4e3arnn\u6a21\u578b":13,"\u65f6\u5e8f\u6a21\u578b\u5747\u4f7f\u7528\u8be5\u811a\u672c":13,"\u662f":[1,4],"\u662f\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":0,"\u662f\u4e00\u4e2a\u53cc\u5c42\u7684\u5e8f\u5217":0,"\u662f\u4e00\u4e2abatch":24,"\u662f\u4e00\u4e2apython\u7684":24,"\u662f\u4e00\u4e2aswig\u5c01\u88c5\u7684paddlepaddle\u5305":9,"\u662f\u4e00\u4e2aunbound":2,"\u662f\u4e00\u79cd\u4efb\u610f\u590d\u6742\u7684rnn\u5355\u5143":2,"\u662f\u4e0d\u662f\u5f88\u7b80\u5355\u5462":24,"\u662f\u4e2adataprovider\u662f\u4e0d\u662f\u8981\u505ashuffl":24,"\u662f\u4ec0\u4e48\u4e5f\u6ca1\u5173\u7cfb":24,"\u662f\u4ece\u8bad\u7ec3\u914d\u7f6e\u4f20\u5165\u7684dict\u5bf9\u8c61":24,"\u662f\u51e0\u4e4e\u4e0d\u5360\u5185\u5b58\u7684":24,"\u662f\u521d\u59cb\u5316\u65f6\u8c03\u7528\u7684\u51fd\u6570":24,"\u662f\u540c\u4e00\u4e2a\u5bf9\u8c61":24,"\u662f\u5426\u4ee5\u9006\u5e8f\u5904\u7406\u8f93\u5165\u5e8f\u5217":2,"\u662f\u5426\u4f7f\u7528\u53cc\u7cbe\u5ea6\u6d6e\u70b9\u6570":4,"\u662f\u5426\u4f7f\u7528\u8fd0\u884c\u65f6\u52a8\u6001\u52a0\u8f7dcuda\u52a8\u6001\u5e93":4,"\u662f\u5426\u4f7f\u7528gflags":4,"\u662f\u5426\u4f7f\u7528glog":4,"\u662f\u5426\u5185\u5d4cpython\u89e3\u91ca\u5668":4,"\u662f\u5426\u5bfb\u627e\u5230cuda\u5de5\u5177\u94fe":4,"\u662f\u5426\u5f00\u542f\u5355\u5143\u6d4b\u8bd5":4,"\u662f\u5426\u5f00\u542f\u8ba1\u65f6\u529f\u80fd\u5f00\u542f\u8ba1\u65f6\u529f\u80fd\u4f1a\u5bfc\u81f4\u8fd0\u884c\u7565\u6162":4,"\u662f\u5426\u5f00\u542fgpu\u529f\u80fd":3,"\u662f\u5426\u5f00\u542frdma\u652f\u6301":4,"\u662f\u5426\u7f16\u8bd1\u4e2d\u6587\u6587\u6863":4,"\u662f\u5426\u7f16\u8bd1\u542b\u6709avx\u6307\u4ee4\u96c6\u7684paddlepaddle\u4e8c\u8fdb\u5236":4,"\u662f\u5426\u7f16\u8bd1\u65f6\u8fdb\u884c\u4ee3\u7801\u98ce\u683c\u68c0\u67e5":4,"\u662f\u5426\u7f16\u8bd1\u82f1\u6587\u6587\u6863":4,"\u662f\u5426\u7f16\u8bd1gpu\u652f\u6301":4,"\u662f\u5426\u7f16\u8bd1python\u7684swig\u63a5\u53e3":4,"\u662f\u5728\u8fd0\u884c\u65f6\u6267\u884c\u7684":24,"\u662f\u5f85\u6269\u5c55\u7684\u6570\u636e":0,"\u662f\u60f3\u8981\u5171\u4eab\u7684\u53c2\u6570\u4f7f\u7528\u540c\u6837\u7684":14,"\u662f\u6570\u636e\u7f13\u5b58\u7684\u7b56\u7565":24,"\u662f\u6570\u636e\u8f93\u5165\u683c\u5f0f":24,"\u662f\u8bbe\u7f6e\u8fd9\u4e2adataprovider\u8fd4\u56de\u4ec0\u4e48\u6837\u7684\u6570\u636e":24,"\u662f\u8bbe\u7f6edataprovider\u5728\u5185\u5b58\u4e2d\u6682\u5b58\u7684\u6570\u636e\u6761\u6570":24,"\u662f\u8bbe\u7f6edataprovider\u5728\u5185\u5b58\u4e2d\u6700\u5c0f\u6682\u5b58\u7684\u6570\u636e\u6761\u6570":24,"\u662fdecoder\u7684\u6570\u636e\u8f93\u5165":2,"\u662fpaddlepaddle\u652f\u6301\u7684\u4e00\u79cd\u4efb\u610f\u590d\u6742\u7684rnn\u5355\u5143":2,"\u662fpaddlepaddle\u8d1f\u8d23\u63d0\u4f9b\u6570\u636e\u7684\u6a21\u5757":23,"\u662fpython\u7684\u4e00\u4e2a\u5173\u952e\u8bcd":24,"\u663e":13,"\u665a":1,"\u666e\u901a\u7528\u6237\u8bf7\u8d70\u5b89\u88c5\u6d41\u7a0b":8,"\u66f4\u591a\u5173\u4e8esparse\u8bad\u7ec3\u7684\u5185\u5bb9\u8bf7\u53c2\u8003":14,"\u66f4\u597d\u5730\u5b8c\u6210\u4e00\u4e9b\u590d\u6742\u7684\u8bed\u8a00\u7406\u89e3\u4efb\u52a1":2,"\u66f4\u65b0\u6a21\u5f0f":14,"\u66f4\u65b9\u4fbf\u7684\u8bbe\u7f6e\u65b9\u5f0f":14,"\u66f4\u8be6\u7ec6\u7528\u4f8b\u8bf7\u53c2\u8003\u6587\u6863":13,"\u66f4\u8be6\u7ec6\u7684\u4ecb\u7ecd\u8bf7\u53c2\u8003\u5404\u4e2a\u547d\u4ee4\u7684\u547d\u4ee4\u884c\u53c2\u6570\u6587\u6863":17,"\u66f4\u8be6\u7ec6\u7684\u7f51\u7edc\u914d\u7f6e":13,"\u66f4\u8fdb\u4e00\u6b65":2,"\u66ff\u6211\u4eec\u5b8c\u6210\u4e86\u539f\u59cb\u8f93\u5165\u6570\u636e\u7684\u62c6\u5206":2,"\u6700":1,"\u6700\u4f4e\u7ebf\u7a0b\u7684\u4e0b\u8f7d\u901f\u5ea6":3,"\u6700\u540e":1,"\u6700\u540e\u4e00\u4e2a":0,"\u6700\u540e\u4f7f\u7528":27,"\u6700\u7ec8\u5b9e\u73b0\u4e00\u4e2a\u5c42\u6b21\u5316\u7684\u590d\u6742rnn":2,"\u6700\u7ec8\u7684\u8f93\u51fa\u7ed3\u679c":2,"\u6708\u6e56":1,"\u6709":1,"\u6709100\u4e2a\u8bad\u7ec3\u6587\u4ef6":24,"\u6709\u4e24\u53e5":1,"\u6709\u503c\u7684\u4f4d\u7f6e\u53ea\u80fd\u53d61":24,"\u6709\u503c\u7684\u90e8\u5206\u53ef\u4ee5\u662f\u4efb\u4f55\u6d6e\u70b9\u6570":24,"\u6709\u90e8\u5206\u53c2\u6570\u662fpaddle\u81ea\u52a8\u751f\u6210\u7684":24,"\u670d\u52a1":1,"\u670d\u52a1\u5458":1,"\u672c\u6765":1,"\u672c\u8282\u6211\u4eec\u5c06\u4e13\u6ce8\u4e8e\u7f51\u7edc\u7ed3\u6784\u7684\u4ecb\u7ecd":13,"\u6765":1,"\u6765\u521d\u59cb\u5316\u53c2\u6570":14,"\u6765\u5b89\u88c5":10,"\u6765\u5bf9\u6bd4\u5206\u6790\u4e24\u8005\u8bed\u4e49\u76f8\u540c\u7684\u539f\u56e0":1,"\u6765\u5f15\u7528\u8fd9\u4e2aimag":9,"\u6765\u6307\u5b9a\u6bcf\u4e2apserver\u7684ip\u5730\u5740":14,"\u6765\u63a5\u53d7\u4e0d\u4f7f\u7528\u7684":24,"\u6765\u786e\u5b9a\u5bf9\u5e94\u5173\u7cfb":24,"\u6765\u81ea\u5b9a\u4e49\u4f20\u6570\u636e\u7684\u8fc7\u7a0b":23,"\u6765\u8bbe\u7f6e":14,"\u6765\u8bf4\u660e\u7b80\u5355\u7684pydataprovider\u5982\u4f55\u4f7f\u7528":24,"\u6765\u8fdb\u884c\u8bad\u7ec3":9,"\u6765\u914d\u7f6ecudnn\u7684\u5b89\u88c5\u8def\u5f84":4,"\u6765\u9884\u6d4b\u8fd9\u4e2a\u4e2d\u95f4\u7684\u8bcd":14,"\u676f\u5b50":1,"\u6784\u6210\u4e86\u8f93\u51fa\u53cc\u5c42\u5e8f\u5217\u7684\u7b2ci\u4e2asubseq":0,"\u6784\u9020gradientmachin":27,"\u6790\u597d\u7684\u914d\u7f6e\u521b\u5efa\u795e\u7ecf\u7f51\u7edc":27,"\u67e5\u770b\u5b89\u88c5\u540e\u7684paddl":10,"\u6807\u51c6\u5dee\u4e3a":14,"\u6807\u7b7e\u662f0":24,"\u6837\u4f8b\u6570\u636e\u4e3a":24,"\u6837\u4f8b\u6570\u636e\u5982\u4e0b":24,"\u6837\u672c":24,"\u6837\u672c\u95f4\u7528\u7a7a\u884c\u5206\u5f00":1,"\u6839\u636e\u4e0a\u4e00\u6b65\u89e3":27,"\u6839\u636e\u6a21\u578b\u914d\u7f6e\u6587\u4ef6\u4e2d":24,"\u683c\u5f0f\u5982\u4e0b":13,"\u68d2":13,"\u697c\u5c42":1,"\u6a21\u578b\u5b58\u50a8\u8def\u5f84":13,"\u6a21\u578b\u8bad\u7ec3\u4f1a\u770b\u5230\u8fd9\u6837\u7684\u65e5\u5fd7":13,"\u6a21\u578b\u914d\u7f6e":15,"\u6a2a\u5411\u5305\u62ec\u4e09\u4e2a\u7248\u672c":9,"\u6b21":1,"\u6b63\u5e38\u7684docker":9,"\u6b63\u6837\u672c":13,"\u6b64\u5904\u90fd\u4e3a2":1,"\u6bb5\u843d\u53ef\u4ee5\u770b\u4f5c\u662f\u4e00\u4e2a\u5d4c\u5957\u7684\u53cc\u5c42\u7684\u5e8f\u5217":2,"\u6bcf\u4e00\u4e2a\u4efb\u52a1\u6d41\u7a0b\u90fd\u53ef\u4ee5\u5206\u4e3a\u5982\u4e0b5\u4e2a\u57fa\u7840\u90e8\u5206":13,"\u6bcf\u4e00\u4e2a\u65f6\u95f4\u6b65":1,"\u6bcf\u4e00\u4e2a\u65f6\u95f4\u6b65\u90fd\u7528\u4e86\u4e0a\u4e00\u4e2a\u65f6\u95f4\u6b65\u7684\u8f93\u51fa\u7ed3\u679c":1,"\u6bcf\u4e00\u6761\u8bad\u7ec3\u6570\u636e\u90fd\u662f\u4e00\u4e2a\u6587\u4ef6":24,"\u6bcf\u4e00\u884c":24,"\u6bcf\u4e2a\u5143\u7d20\u662f\u4e00\u4e2a0\u5c42\u5e8f\u5217":0,"\u6bcf\u4e2a\u5143\u7d20\u662f\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":0,"\u6bcf\u4e2a\u5355\u5c42rnn":2,"\u6bcf\u4e2a\u5c42\u90fd\u6709\u4e00\u4e2a\u6216\u591a\u4e2ainput":13,"\u6bcf\u4e2a\u65f6\u95f4\u6b65\u4e4b\u5185\u7684\u8fd0\u7b97\u662f\u72ec\u7acb\u7684":2,"\u6bcf\u4e2a\u6837\u672c\u7531\u4e24\u90e8\u5206\u7ec4\u6210":1,"\u6bcf\u4e2a\u6837\u672c\u7684\u5b50\u53e5\u6570\u5206\u522b\u4e3a2":1,"\u6bcf\u4e2a\u72b6\u6001":2,"\u6bcf\u4e2agenerator\u5728\u6ca1\u6709\u8c03\u7528\u7684\u65f6\u5019":24,"\u6bcf\u4e2apass\u7684\u7b2c0\u4e2abatch\u5230\u5f53\u524dbatch\u6240\u6709\u6837\u672c\u7684\u5e73\u5747\u5206\u7c7b\u9519\u8bef\u7387":13,"\u6bcf\u4e2apass\u7684\u7b2c0\u4e2abatch\u5230\u5f53\u524dbatch\u6240\u6709\u6837\u672c\u7684\u5e73\u5747cost":13,"\u6bcf\u4e2asubseq\u7684\u6700\u540e\u4e00\u4e2a\u5143\u7d20\u5c31\u7b49\u4e8e\u5355\u5c42\u5e8f\u5217\u7684\u6700\u540e\u4e00\u4e2a\u5143\u7d20":1,"\u6bcf\u6b21\u90fd\u4f1a\u4ecepython\u7aef\u8bfb\u53d6\u6570\u636e":24,"\u6bcf\u884c\u4fdd\u5b58\u4e00\u6761\u6837\u672c":13,"\u6bcf\u9694\u591a\u5c11batch\u6253\u5370\u4e00\u6b21\u65e5\u5fd7":13,"\u6bd4\u5982":14,"\u6bd4\u5982\u8bbe\u7f6e\u4e00\u4e2a\u5168\u8fde\u63a5\u5c42\u7684\u53c2\u6570\u521d\u59cb\u5316\u65b9\u5f0f\u548cbias\u521d\u59cb\u5316\u65b9\u5f0f":14,"\u6bd4\u5982\u901a\u8fc7\u7528\u6237\u5bf9\u7535\u5b50\u5546\u52a1\u7f51\u7ad9\u8bc4\u8bba":13,"\u6bd4\u8f83\u53ef\u80fd\u7684\u547d\u4ee4\u5982\u4e0b":10,"\u6c34\u6e29":1,"\u6c49\u5ead":1,"\u6ca1":1,"\u6ca1\u6709\u4f5c\u7528":24,"\u6ca1\u6709\u5b89\u88c5":10,"\u6ca1\u6709\u8bbe\u7f6e":10,"\u6ce8\u610f":[1,3,24],"\u6cf3\u6c60":1,"\u6d41":1,"\u6d41\u7a0b\u5982\u4e0b":13,"\u6d44":1,"\u6d4b\u8bd5\u6570\u636e":13,"\u6d4b\u8bd5\u7684\u65f6\u5019\u9ed8\u8ba4\u4e0dshuffl":24,"\u6d4b\u8bd5\u811a\u672c\u5982\u4e0b":13,"\u6e29\u99a8":1,"\u6e90\u7801":13,"\u6e90\u7801\u6839\u76ee\u5f55":3,"\u6fc0\u6d3b\u51fd\u6570\u7c7b\u578b":13,"\u70ed\u60c5":1,"\u7136\u540e\u4ea4\u7ed9step\u51fd\u6570":2,"\u7136\u540e\u6267\u884c\u5982\u4e0b":10,"\u7136\u540e\u8fd0\u884c\u8fd9\u4e2acontainer\u5373\u53ef":9,"\u7248\u672c":10,"\u7279\u522b\u662f\u5728lstm\u7b49rnn\u4e2d":14,"\u751f\u6210\u5404\u4e2a\u5e73\u53f0\u7684makefil":4,"\u751f\u6210\u7684\u6570\u636e\u7f13\u5b58\u5728\u5185\u5b58\u91cc":14,"\u75280\u548c1\u8868\u793a":24,"\u7528\u4e86\u4e24\u4e2a\u6708\u4e4b\u540e\u8fd9\u4e2a\u663e\u793a\u5668\u5c4f\u5e55\u788e\u4e86":13,"\u7528\u4e8e\u4e0d\u652f\u6301avx\u6307\u4ee4\u96c6\u7684cpu":10,"\u7528\u6237\u4e5f\u53ef\u4ee5\u5728c":23,"\u7528\u6237\u4e5f\u53ef\u4ee5\u663e\u5f0f\u6307\u5b9a\u8fd4\u56de\u7684\u6570\u636e\u5bf9\u5e94\u5173\u7cfb":24,"\u7528\u6237\u53ea\u9700\u5b9a\u4e49rnn\u5728\u4e00\u4e2a\u65f6\u95f4\u6b65\u5185\u5b8c\u6210\u7684\u8ba1\u7b97":2,"\u7528\u6237\u53ef\u4ee5\u4f7f\u7528python\u7684":23,"\u7528\u6237\u53ef\u4ee5\u6839\u636e\u8bad\u7ec3log\u9009\u62e9test\u7ed3\u679c\u6700\u597d\u7684\u6a21\u578b\u6765\u9884\u6d4b":13,"\u7528\u6237\u53ef\u4ee5\u9009\u62e9\u5bf9\u5e94\u7248\u672c\u7684docker":9,"\u7528\u6237\u540d\u4e3a":9,"\u7528\u6237\u5728dataprovider\u4e2d\u9700\u8981\u5b9e\u73b0\u5982\u4f55\u8bbf\u95ee\u5176\u4e2d\u6bcf\u4e00\u4e2a\u6587\u4ef6":23,"\u7528\u6237\u5b9a\u4e49\u7684\u53c2\u6570\u4f7f\u7528args\u5728\u8bad\u7ec3\u914d\u7f6e\u4e2d\u8bbe\u7f6e":24,"\u7528\u6237\u63a5\u53e3":15,"\u7528\u6237\u9700\u8981\u5148\u5c06paddlepaddle\u5b89\u88c5\u5305\u4e0b\u8f7d\u5230\u672c\u5730":10,"\u7528\u6765\u505a\u9884\u6d4b\u548c\u7b80\u5355\u7684\u5b9a\u5236\u5316":9,"\u7528\u6b64\u65b9\u6cd5\u90e8\u5206\u865a\u62df\u673a\u53ef\u80fd\u68c0\u6d4b\u5230\u652f\u6301avx\u6307\u4ee4\u4f46\u662f\u5b9e\u9645\u8fd0\u884c\u4f1a\u6302\u6389":14,"\u7528\u8fc7\u4e00\u6b21\u7684\u65f6\u5019":24,"\u7531":2,"\u7531\u4e8e\u5916\u5c42\u6bcf\u4e2a\u65f6\u95f4\u6b65\u8fd4\u56de\u7684\u662f\u4e00\u4e2a\u5b50\u53e5":1,"\u7531\u4e8e\u5916\u5c42memory\u6ca1\u6709\u4efb\u4f55seq\u4fe1\u606f":1,"\u7531\u4e8e\u6570\u636e\u662f\u4e24\u6761":27,"\u7531\u4e8e\u8fd9\u4e2a\u5916\u5c42group\u91cc\u9762\u6ca1\u6709memori":1,"\u7531\u4e8edocker\u662f\u57fa\u4e8e\u5bb9\u5668\u7684\u8f7b\u91cf\u5316\u865a\u62df\u65b9\u6848":9,"\u7531\u4e8epaddlepaddle\u7684docker\u955c\u50cf\u5e76\u4e0d\u5305\u542b\u4efb\u4f55\u9884\u5b9a\u4e49\u7684\u8fd0\u884c\u547d\u4ee4":9,"\u7531\u4e8estep":2,"\u7531\u6613\u5230\u96be\u5c55\u793a4\u79cd\u4e0d\u540c\u7684\u7f51\u7edc\u914d\u7f6e":13,"\u7531\u8bcd\u8bed\u6784\u6210\u7684\u53e5\u5b50":0,"\u7535\u8111":1,"\u7684":[1,13],"\u7684\u4e00\u4e2a\u7b80\u5355\u8c03\u7528\u5982\u4e0b":2,"\u7684\u4efb\u4e00\u4e00\u79cd":14,"\u7684\u5185\u5b58":14,"\u7684\u540d\u5b57":24,"\u7684\u5747\u5300\u5206\u5e03":14,"\u7684\u5b89\u88c5\u6587\u6863":9,"\u7684\u5e73\u5747\u503c":0,"\u7684\u60c5\u51b5\u4e0b\u8d8a\u5927\u8d8a\u597d":24,"\u7684\u6570\u76ee\u4e00\u81f4":0,"\u7684\u6587\u6863":24,"\u7684\u65f6\u5019\u5982\u679c\u62a5\u4e00\u4e9b\u4f9d\u8d56\u672a\u627e\u5230\u7684\u9519\u8bef\u662f\u6b63\u5e38\u7684":10,"\u7684\u65f6\u95f4\u6b65\u4fe1\u606f\u6210\u6b63\u6bd4":14,"\u7684\u662f":24,"\u7684\u673a\u5668\u4e0a\u8fdb\u884c":3,"\u7684\u6838\u5fc3\u662f\u8bbe\u8ba1step\u51fd\u6570\u7684\u8ba1\u7b97\u903b\u8f91":2,"\u7684\u6bb5\u843d\u5b9a\u4e49\u4e3a\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217":2,"\u7684\u72b6\u6001":2,"\u7684\u7f51\u6865\u6765\u8fdb\u884c\u7f51\u7edc\u901a\u4fe1":9,"\u7684\u8bdd":14,"\u7684\u8f93\u5165":2,"\u7684\u9519\u8bef":1,"\u7684demo\u5b66\u4e60\u5982\u4f55\u8fdb\u884c\u591a\u673a\u8bad\u7ec3":13,"\u7684docker\u53ef\u80fd\u7f3a\u4e4f":3,"\u7684matrix":27,"\u7684python\u5305\u662fpaddlepaddle\u7684\u8bad\u7ec3\u4e3b\u8981\u7a0b\u5e8f":9,"\u7684python\u5305\u6765\u505a\u914d\u7f6e\u6587\u4ef6\u89e3\u6790\u7b49\u5de5\u4f5c":9,"\u7684python\u9884\u6d4b\u8fc7\u7a0b":13,"\u76ee\u524d":2,"\u76ee\u524d\u652f\u6301\u4e24\u79cd":0,"\u76ee\u524d\u8fd8\u672a\u652f\u6301":2,"\u76ee\u5f55":13,"\u76ee\u5f55\u4e0b":3,"\u76f4\u5230\u8bad\u7ec3\u6536\u655b\u4e3a\u6b62":14,"\u76f4\u63a5\u52a0\u4e86\u4e00\u5c42group":1,"\u76f4\u63a5\u63d0\u53d6\u51fa\u795e\u7ecf\u7f51\u7edcoutput\u5c42\u7684\u8f93\u51fa\u7ed3\u679c":27,"\u76f8\u5173\u547d\u4ee4\u4e3a":9,"\u76f8\u5173\u7684\u6982":24,"\u76f8\u540c\u540d\u5b57\u7684\u53c2\u6570":14,"\u76f8\u5bf9":1,"\u76f8\u5bf9\u4e8epaddlepaddle\u7a0b\u5e8f\u8fd0\u884c\u65f6\u7684\u8def\u5f84":23,"\u76f8\u5f53":1,"\u770b\u4e0b\u9762\u7684\u89e3\u51b3\u65b9\u6848":14,"\u77e5\u9053\u5982\u4f55\u4ece":24,"\u793a":13,"\u795e\u7ecf\u7f51\u7edc\u5728\u8bad\u7ec3\u7684\u65f6\u5019":14,"\u795e\u7ecf\u7f51\u7edc\u7684\u8bad\u7ec3\u672c\u8eab\u662f\u4e00\u4e2a\u975e\u5e38\u6d88\u8017\u5185\u5b58\u548c\u663e\u5b58\u7684\u5de5\u4f5c":14,"\u79bb":1,"\u79f0\u4e4b\u4e3a\u53cc\u5c42\u5e8f\u5217\u7684\u4e00\u4e2a\u5b50\u5e8f\u5217":0,"\u7a0b\u5e8f\u6216\u8005\u81ea\u5b9a\u4e49\u4e00\u4e2a\u542b\u6709\u542f\u52a8\u811a\u672c\u7684imag":9,"\u7a97\u6237":1,"\u7aef\u81ea\u5b9a\u4e49\u4e00\u4e2a":23,"\u7aef\u8bfb\u53d6\u6570\u636e":14,"\u7b2c":1,"\u7b2c\u4e00\u4e2a\u53c2\u6570\u662f":24,"\u7b2c\u4e00\u4e2alast":1,"\u7b2c\u4e00\u4e2apass\u4f1a\u4ecepython\u7aef\u8bfb\u53d6\u6570\u636e":24,"\u7b2c\u4e00\u5929":1,"\u7b2c\u4e00\u6bb5\u6570\u636e\u4e3a\u8fd9\u5f20\u56fe\u7247\u7684label":24,"\u7b2c\u4e8c\u4e2a\u53c2\u6570\u662ffilenam":24,"\u7b2c\u4e8c\u6bb5\u6570\u636e\u4e3a\u8fd9\u4e2a\u56fe\u7247\u7684\u50cf\u7d20\u503c":24,"\u7b80\u5355\u4f18\u5316":3,"\u7b80\u5355\u7684\u4f7f\u7528":23,"\u7b80\u5355\u7684\u4f7f\u7528\u573a\u666f":23,"\u7b80\u5355\u7684\u4f7f\u7528\u6837\u4f8b\u4e3a":3,"\u7b80\u5355\u7684\u5168\u8fde\u63a5\u7f51\u7edc":14,"\u7b80\u5355\u7684\u542b\u6709ssh\u7684dockerfile\u5982\u4e0b":9,"\u7b80\u5355\u7684pydataprovider\u6837\u4f8b\u5c31\u8bf4\u660e\u5b8c\u6bd5\u4e86":24,"\u7b80\u76f4":1,"\u7b97\u6cd5":14,"\u7c7b\u522bid":13,"\u7c7b\u522bid\u7684\u6570\u636e\u7c7b\u578b":13,"\u7c7b\u578b\u53ef\u4ee5\u662fpaddlepaddle\u652f\u6301\u7684\u4efb\u610f\u8f93\u5165\u6570\u636e\u7c7b\u578b":0,"\u7c7b\u578b\u6765\u8bbe\u7f6e":24,"\u7eb5\u5411\u5305\u62ec\u56db\u4e2a\u7248\u672c":9,"\u7ec3":17,"\u7ecf\u5e38\u4f1a\u6d88\u8017\u6570\u5341g\u7684\u5185\u5b58\u548c\u6570g\u7684\u663e\u5b58":14,"\u7ed3\u4e0a\u8ff0\u7f51\u7edc\u7ed3\u6784\u5728amazon":13,"\u7ed9":1,"\u7ed9\u5b9aencoder\u8f93\u51fa\u548c\u5f53\u524d\u8bcd":2,"\u7ee7\u7eed\u8bad\u7ec3":24,"\u7ef4\u5ea6\u4e3aword":13,"\u7ef4\u5ea6\u662f\u7c7b\u522b\u4e2a\u6570":13,"\u7ef4\u5ea6\u662f\u8bcd\u5178\u5927\u5c0f":13,"\u7f13\u5b58\u6c60\u7684\u51cf\u5c0f":14,"\u7f13\u5b58\u8bad\u7ec3\u6570\u636e\u5230\u5185\u5b58":24,"\u7f16\u8bd1\u53c2\u6570\u9009\u9879\u6587\u4ef6":22,"\u7f16\u8bd1\u73af\u5883\u548c\u6e90\u4ee3\u7801":9,"\u7f16\u8bd1\u9009\u9879":4,"\u7f16\u8bd1\u9009\u9879\u4e3b\u8981\u63a8\u8350\u9ad8\u7ea7\u7528\u6237\u67e5\u770b":8,"\u7f16\u8bd1\u9009\u9879\u5217\u8868\u5982\u4e0b":4,"\u7f16\u8bd1paddlepaddle\u7684gpu\u7248\u672c\u5e76\u4e0d\u9700\u8981\u4e00\u5b9a\u5728\u5177\u6709gpu":3,"\u7f51\u7edc\u540d\u79f0":13,"\u7f51\u7edc\u914d\u7f6e":13,"\u7f6e\u8fd9\u4e9b\u53d8\u91cf":4,"\u800c":9,"\u800c\u4e09\u79cd\u5e8f\u5217\u6a21\u5f0f\u4e3a":24,"\u800c\u4e0d\u4f7f\u7528docker":9,"\u800c\u4e0d\u7528\u5173\u5fc3\u6570\u636e\u5982\u4f55\u4f20\u8f93\u7ed9paddlepaddl":24,"\u800c\u4e14\u9884\u6d4b\u7f51\u7edc\u901a\u5e38\u76f4\u63a5\u8f93\u51fa\u6700\u540e\u4e00\u5c42\u7684\u7ed3\u679c\u800c\u4e0d\u662f\u50cf\u8bad\u7ec3\u65f6\u4e00\u6837\u4ee5cost":27,"\u800c\u5728":[4,24],"\u800c\u5982\u679c\u6309\u987a\u5e8f\u8c03\u7528\u8fd9\u4e9bgenerator\u5c31\u4e0d\u4f1a\u51fa\u73b0\u8fd9\u4e2a\u95ee\u9898":24,"\u800c\u662f\u5c06\u6837\u672c\u7684\u5730\u5740\u653e\u5165\u53e6\u4e00\u4e2a\u6587\u672c":24,"\u800c\u662f\u76f4\u63a5\u4ece\u5185\u5b58\u7684\u7f13\u5b58\u91cc\u8bfb\u53d6\u6570\u636e":14,"\u800c\u6ca1\u6709\u6d4b\u8bd5\u6570\u636e":24,"\u800c\u7279\u5f81\u5373\u4e3a":24,"\u800c\u8fd9\u4e2a\u4e00\u822c\u8bf4\u660epaddlepaddle\u5df2\u7ecf\u5b89\u88c5\u5b8c\u6bd5\u4e86":10,"\u800c\u8fd9\u4e2a\u53d8\u91cf\u63a8\u8350\u5927\u4e8e\u8bad\u7ec3\u7684batch":24,"\u800c\u8fd9\u4e2acontext\u53ef\u80fd\u4f1a\u975e\u5e38":24,"\u800c\u975e\u9759\u6001\u52a0\u8f7dcuda\u52a8\u6001\u5e93":4,"\u800cexpand":1,"\u800cgpu\u7684\u9a71\u52a8\u548c\u8bbe\u5907\u5168\u90e8\u6620\u5c04\u5230\u4e86\u5bb9\u5668\u5185":9,"\u800cpaddlepaddle\u8fdb\u7a0b\u5e2e\u52a9\u7528\u6237\u505a\u4e86":24,"\u800crnn\u662f\u6700\u6d41\u884c\u7684\u9009\u62e9":2,"\u80fd\u591f\u5904\u7406\u53cc\u5c42\u5e8f\u5217":2,"\u80fd\u591f\u5bf9\u53cc\u5411\u5e8f\u5217\u8fdb\u884c\u5904\u7406\u7684\u6709":2,"\u80fd\u591f\u8bb0\u5f55\u4e0a\u4e00\u4e2asubseq":2,"\u811a\u672c":9,"\u811a\u672c\u53ef\u4ee5\u542f\u52a8paddlepaddle\u7684\u8bad\u7ec3\u8fdb\u7a0b\u548cpserv":9,"\u811a\u672c\u548c":9,"\u811a\u672c\u7c7b\u4f3c\u4e8e":9,"\u81ea\u52a8\u5b8c\u6210\u8fd9\u4e00\u8fc7\u7a0b":2,"\u81ea\u5b9a\u4e49\u4e00\u4e2adataprovid":23,"\u81f3\u5c11\u5177\u67093":9,"\u81f3\u6b64":[9,24],"\u8212\u9002":1,"\u82e5\u5e72\u4e2a\u53e5\u5b50\u6784\u6210\u4e00\u4e2a\u6bb5\u843d":0,"\u82e5\u8f93\u51fa\u662f\u5355\u5c42\u5e8f\u5217":0,"\u82e5\u8f93\u51fa\u662f\u53cc\u5c42\u5e8f\u5217":0,"\u83b7\u53d6\u5229\u7528one":13,"\u83b7\u53d6\u6bcf\u4e2a\u5355\u8bcd\u5de6\u53f3\u5404k\u4e2a\u8fd1\u90bb":13,"\u83b7\u53d6\u8be5\u6761\u6837\u672c\u7c7b\u522bid":13,"\u8868\u793a\u5c06\u5916\u5c42\u7684outer":1,"\u8868\u793a\u6574\u6570\u6807\u7b7e":24,"\u8868\u793a\u662f\u5426\u5141\u8bb8paddle\u6682\u5b58\u7565\u5fae\u591a\u4f59pool_size\u7684\u6570\u636e":24,"\u8868\u793a\u7a00\u758f\u7684\u5411\u91cf":24,"\u8868\u793a\u7a00\u758f\u7684\u96f6\u4e00\u5411\u91cf":24,"\u8868\u793a\u7a20\u5bc6\u7684\u6d6e\u70b9\u6570\u5411\u91cf":24,"\u8868\u793a\u8fc7\u4e8620\u4e2abatch":13,"\u8868\u793a\u8fc7\u4e862560\u4e2a\u6837\u672c":13,"\u8868\u793a\u8fd9\u4e2adataprovider\u662f\u8bad\u7ec3\u7528\u7684dataprovider\u6216\u8005\u6d4b\u8bd5\u7528\u7684":24,"\u8868\u793asubseq\u95f4\u4e0d\u5b58\u5728\u8054\u7cfb":1,"\u88ab\u6269\u5c55\u4e3a\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":0,"\u8981\u6c42\u5355\u5c42\u5e8f\u5217\u542b\u6709\u5143\u7d20\u7684\u6570\u76ee":0,"\u8981\u751f\u6210\u7684\u76ee\u6807\u5e8f\u5217":2,"\u89c1":1,"\u89e3\u51b3\u529e\u6cd5\u662f":14,"\u89e3\u51b3\u529e\u6cd5\u662f\u5c06cuda":10,"\u89e3\u51b3\u65b9\u6cd5\u5f88\u7b80\u5355":10,"\u89e3\u6790\u8bad\u7ec3\u65f6\u7684\u914d\u7f6e\u6587\u4ef6":27,"\u89e3\u91ca":13,"\u8ba9\u795e\u7ecf\u7f51\u7edc\u53ef\u4ee5\u8fdb\u884c\u8bad\u7ec3":23,"\u8bad\u7ec3":9,"\u8bad\u7ec3\u6570\u636e\u975e\u5e38\u591a\u7684\u60c5\u51b5\u4e0b":24,"\u8bad\u7ec3\u6587\u4ef6\u5217\u8868":23,"\u8bad\u7ec3\u65f6\u6240\u9700\u8bbe\u7f6e\u7684\u4e3b\u8981\u53c2\u6570\u5982\u4e0b":13,"\u8bad\u7ec3\u7684\u65f6\u5019\u9ed8\u8ba4shuffl":24,"\u8bad\u7ec3\u811a\u672c":13,"\u8bad\u7ec3\u811a\u672c\u5728":13,"\u8bad\u7ec3\u8bed\u8a00\u6a21\u578b\u8ddd\u79bb":14,"\u8bad\u7ec3\u8f6e\u6b21":13,"\u8bb2\u6570\u636e\u53d1\u9001\u7ed9paddlepaddl":24,"\u8bb2\u89e3\u5982\u4f55\u4f7f\u7528\u53cc\u5c42rnn":1,"\u8bbe\u7f6e\u4e0b\u5217\u7f16\u8bd1\u9009\u9879\u65f6":4,"\u8bbe\u7f6e\u53c2\u6570\u7684\u540d\u5b57":14,"\u8bbe\u7f6e\u547d\u4ee4\u884c\u53c2\u6570":14,"\u8bbe\u7f6e\u6210":[14,24],"\u8bbe\u7f6e\u6210\u4e00\u4e2a\u5c0f\u4e00\u4e9b\u7684\u503c":14,"\u8bbe\u7f6e\u6210\u4e86\u5e8f\u5217":24,"\u8bbe\u7f6e\u6210true\u7684\u8bdd":24,"\u8bbe\u7f6e\u8f93\u5165\u7c7b\u578b":24,"\u8bc4\u4f30\u4ea7\u54c1\u7684\u8d28\u91cf":13,"\u8bcd\u6027\u6807\u6ce8":12,"\u8be5\u5c42\u795e\u7ecf\u5143\u4e2a\u6570":13,"\u8be5\u6570\u636e":24,"\u8be5\u6784\u5efa\u811a\u672c\u5145\u5206\u8003\u8651\u4e86\u7f51\u7edc\u4e0d\u7a33\u5b9a\u7684\u60c5\u51b5":3,"\u8be5\u6a21\u578b\u4f9d\u7136\u662f\u4f7f\u7528\u903b\u8f91\u56de\u5f52\u5206\u7c7b\u7f51\u7edc\u7684\u6846\u67b6":13,"\u8be5\u76ee\u5f55\u4e0b\u6709\u4e24\u4e2a\u6587\u4ef6":3,"\u8be5\u811a\u672c\u7684\u4f7f\u7528\u65b9\u6cd5\u662f":3,"\u8be5image\u57fa\u4e8eubuntu":3,"\u8be5image\u7684\u6784\u5efa\u5728dock":3,"\u8be6\u60c5\u8bf7\u53c2\u8003":27,"\u8be6\u7ec6\u6587\u6863\u53c2\u8003":14,"\u8be6\u7ec6\u7684\u53c2\u6570\u89e3\u91ca\u5982\u4e0b\u9762\u8868\u683c":13,"\u8be6\u7ec6\u7684\u547d\u4ee4\u884c\u53c2\u6570\u8bf7\u53c2\u8003":27,"\u8be6\u7ec6\u7684cmake\u4f7f\u7528\u65b9\u6cd5\u53ef\u4ee5\u53c2\u8003":4,"\u8be6\u7ec6\u89c1":0,"\u8bed\u4e49\u5b8c\u5168\u76f8\u540c":1,"\u8bf4\u660e":4,"\u8bf4\u660e\u547d\u4ee4\u884c\u53c2\u6570":10,"\u8bf7\u53c2\u8003":[9,24],"\u8bf7\u53c2\u8003\u4e0b\u8282refer":24,"\u8bf7\u53c2\u8003\u4e0b\u8ff0\u6587\u7ae0":23,"\u8bf7\u5b89\u88c5cuda":10,"\u8bf7\u5f53\u6210\u662f\u4e0d\u652f\u6301":14,"\u8bfb\u5165\u89e3\u6790\u8bad\u7ec3\u914d\u7f6e":27,"\u8bfb\u53d6\u6570\u636e":24,"\u8c03\u7528":4,"\u8c03\u7528\u4e00\u6b21":24,"\u8c03\u7528\u7b2c\u4e8c\u6b21\u7684\u65f6\u5019":24,"\u8d1f\u6837\u672c":13,"\u8d1f\u8d23\u591a\u673a\u8bad\u7ec3\u4e2d\u7684\u53c2\u6570\u805a\u5408\u5de5\u4f5c":17,"\u8d1f\u9762\u60c5\u7eea\u4e24\u7c7b":24,"\u8d77":1,"\u8def\u5f84\u53d8\u91cf\u4e3a":4,"\u8f83":1,"\u8f93\u5165":0,"\u8f93\u5165\u548c\u8f93\u51fa\u90fd\u662f\u5355\u5c42\u5e8f\u5217":2,"\u8f93\u5165\u548c\u8f93\u51fa\u90fd\u662f\u53cc\u5c42\u5e8f\u5217":2,"\u8f93\u5165n\u4e2a\u5355\u8bcd":13,"\u8f93\u51fa":0,"\u8f93\u51fa\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":2,"\u8f93\u51fa\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217":2,"\u8f93\u51fa\u4e3an\u4e2aword":13,"\u8f93\u51fa\u5e8f\u5217\u7684\u7c7b\u578b":0,"\u8f93\u51fa\u5e8f\u5217\u7684\u8bcd\u8bed\u6570\u548c\u8f93\u5165\u5e8f\u5217\u4e00\u81f4":2,"\u8fc7\u4e86\u4e00\u4e2a\u5f88\u7b80\u5355\u7684recurr":1,"\u8fc7\u5b8c\u6240\u6709\u8bad\u7ec3\u6570\u636e\u5373\u4e3a\u4e00\u4e2apass":14,"\u8fd0\u884c":[9,10],"\u8fd0\u884c\u4f7f\u7528\u7684cudnn\u5c3d\u91cf\u662f\u540c\u4e00\u4e2a\u7248\u672c":4,"\u8fd0\u884c\u8fd9\u4e2acontain":9,"\u8fd0\u884cpaddlepaddle\u7684gpu\u7248\u672c\u4e00\u5b9a\u8981\u5728\u5177\u6709cuda\u7684\u673a\u5668\u4e0a\u8fd0\u884c":3,"\u8fd1":1,"\u8fd4\u56de0":24,"\u8fd4\u56de\u4e00\u4e2alist\u6216\u8005tupl":24,"\u8fd4\u56de\u6570\u636e\u5728paddlepaddle\u4e2d\u662f\u4ec5\u4ec5\u8fd4\u56de\u4e00\u6761\u5b8c\u6574\u7684\u8bad\u7ec3\u6837\u672c":24,"\u8fd4\u56de\u7684\u987a\u5e8f\u9700\u8981\u548c":24,"\u8fd4\u56debatch_size\u7684\u5927\u5c0f":24,"\u8fd8\u4f1a":1,"\u8fd8\u662f":1,"\u8fd8\u6709":1,"\u8fd9":[1,13,14],"\u8fd93\u4e2a\u5b50\u6b65\u9aa4\u53ef\u914d\u7f6e\u4e3a":13,"\u8fd9\u4e00\u8fc7\u7a0b\u5bf9\u7528\u6237\u662f\u5b8c\u5168\u900f\u660e\u7684":2,"\u8fd9\u4e09\u4e2alayer\u5c06\u5b83\u5148\u53d8\u6210\u4e00\u4e2a\u5143\u7d20":1,"\u8fd9\u4e24\u5c42\u4ec5\u662f\u4e3a\u4e86\u5c55\u793a\u5b83\u4eec\u7684\u7528\u6cd5":1,"\u8fd9\u4e2a":1,"\u8fd9\u4e2a\u4e5f\u662fpaddlepaddle\u6240\u80fd\u591f\u4fdd\u8bc1\u7684shuffle\u7c92\u5ea6":24,"\u8fd9\u4e2a\u4efb\u52a1\u7684\u914d\u7f6e\u4e3a":14,"\u8fd9\u4e2a\u4efb\u52a1\u7684dataprovider\u4e3a":14,"\u8fd9\u4e2a\u51fd\u6570\u4ee5\u4e00\u6761\u6570\u636e\u4e3a\u53c2\u6570":24,"\u8fd9\u4e2a\u51fd\u6570\u4f1a\u5728":24,"\u8fd9\u4e2a\u51fd\u6570\u5728\u521d\u59cb\u5316\u7684\u65f6\u5019\u4f1a\u88ab\u8c03\u7528":24,"\u8fd9\u4e2a\u51fd\u6570\u7684\u53c2\u6570\u662f":24,"\u8fd9\u4e2a\u521d\u59cb\u5316\u51fd\u6570\u5177\u6709\u5982\u4e0b\u53c2\u6570":24,"\u8fd9\u4e2a\u53c2\u6570\u5728\u8fd9\u4e2a\u6837\u4f8b\u91cc\u6ca1\u6709\u4f7f\u7528":24,"\u8fd9\u4e2a\u53c2\u6570\u88abpaddlepaddle\u8fdb\u7a0b\u4f20\u5165":24,"\u8fd9\u4e2a\u548c\u5728":24,"\u8fd9\u4e2a\u58f0\u660e\u57fa\u672c\u4e0a\u548cmnist\u7684\u6837\u4f8b\u4e00\u81f4":24,"\u8fd9\u4e2a\u5916\u5c42memori":1,"\u8fd9\u4e2a\u5b57\u5178\u53ef\u4ee5\u5728":24,"\u8fd9\u4e2a\u5bf9\u5e94\u5173\u7cfb\u53ef\u80fd\u4e0d\u6b63\u786e":24,"\u8fd9\u4e2a\u5bf9\u8c61\u548cprocess\u7684\u7b2c\u4e00\u4e2a\u53c2\u6570\u4e00\u81f4":24,"\u8fd9\u4e2a\u5de5\u5177\u7c7b\u63a5\u6536\u548cpydataprovider2\u4e00\u6837\u7684\u8f93\u5165\u6570\u636e":27,"\u8fd9\u4e2a\u5e8f\u5217\u6a21\u578b\u6bd4\u8f83\u590d\u6742":24,"\u8fd9\u4e2a\u5e8f\u5217\u7684\u6bcf\u4e2a\u5143\u7d20\u53c8\u662f\u4e00\u4e2a\u5e8f\u5217":2,"\u8fd9\u4e2a\u63a5\u53e3\u5e76\u4e0d\u7528\u6237\u53cb\u597d":27,"\u8fd9\u4e2a\u663e\u793a\u5668\u5f88\u68d2":13,"\u8fd9\u4e2a\u672c\u8eab\u4e0d\u662f\u4e00\u4e2a\u5f88":24,"\u8fd9\u4e2a\u6a21\u5757\u4e2d\u7684":24,"\u8fd9\u4e2a\u8bbe\u7f6e\u4e3a":24,"\u8fd9\u4e2a\u8f6f\u4ef6\u5305\u6587\u6863\u76f8\u5bf9\u5b8c\u5584":27,"\u8fd9\u4e2a\u8fc7\u7a0b\u5bf9\u7528\u6237\u4e5f\u662f\u900f\u660e\u7684":2,"\u8fd9\u4e2a\u95ee\u9898\u662fpydataprovider\u8bfb\u6570\u636e\u65f6\u5019\u7684\u903b\u8f91\u95ee\u9898":24,"\u8fd9\u4e2alayer\u7684\u8f93\u51fa\u4f1a\u4f5c\u4e3a\u6574\u4e2a":2,"\u8fd9\u4e5f\u4f1a\u6781\u5927\u51cf\u5c11\u6570\u636e\u8bfb\u5165\u7684\u8017\u65f6":14,"\u8fd9\u4e9b\u5185\u5b58\u5c31\u4e0d\u8003\u8651\u5982\u4f55\u7f29\u51cf\u4e86":14,"\u8fd9\u4e9b\u53c2\u6570\u5305\u62ecpaddle\u5b9a\u4e49\u7684\u53c2\u6570":24,"\u8fd9\u4e9b\u53d8":4,"\u8fd9\u4e9b\u53d8\u91cf\u53ea\u5728\u7b2c\u4e00\u6b21cmake\u7684\u65f6\u5019\u6709\u6548":4,"\u8fd9\u4e9b\u53d8\u91cf\u5747\u53ef\u4ee5\u4f7f\u7528":4,"\u8fd9\u4e9b\u5b50\u53e5\u7684\u957f\u5ea6\u5f80\u5f80\u4e0d\u7b49\u957f":1,"\u8fd9\u4e9b\u6570\u636e\u4f1a\u88ab\u7528\u6765\u66f4\u65b0\u53c2\u6570":14,"\u8fd9\u4e9b\u6570\u636e\u4f7f\u7528\u7684\u5185\u5b58\u4e3b\u8981\u548c\u4e24\u4e2a\u53c2\u6570\u6709\u5173\u7cfb":14,"\u8fd9\u4e9b\u6d41\u7a0b\u4e2d\u7684\u6570\u636e\u4e0b\u8f7d":13,"\u8fd9\u5176\u4e2d":14,"\u8fd9\u662f\u4e00\u79cd\u975e\u5e38\u7075\u6d3b\u7684\u6570\u636e\u7ec4\u7ec7\u65b9\u5f0f":0,"\u8fd9\u6837\u505a\u53ef\u4ee5\u6781\u5927\u7684\u51cf\u5c11\u5185\u5b58\u5360\u7528":14,"\u8fd9\u6837\u505a\u53ef\u4ee5\u907f\u514d\u5f88\u591a\u6b7b\u9501\u95ee\u9898":24,"\u8fd9\u79cd\u521d\u59cb\u5316\u65b9\u5f0f\u5728\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u4f1a\u4ea7\u751f\u5f88\u5dee\u7684\u7ed3\u679c":14,"\u8fd9\u79cd\u7c7b\u578b\u7684\u8f93\u5165\u5fc5\u987b\u901a\u8fc7":2,"\u8fd9\u884c\u7684\u4f5c\u7528\u662f\u8bbe\u7f6edataprovider\u7684\u4e00\u4e9b\u5c5e\u6027":24,"\u8fd9\u91cc":[14,24],"\u8fd9\u91cc\u4e3e\u4f8b\u7684\u6570\u636e\u662f\u82f1\u6587\u60c5\u611f\u5206\u7c7b\u7684\u6570\u636e":24,"\u8fd9\u91cc\u4ee5":13,"\u8fd9\u91cc\u4ee5mnist\u624b\u5199\u8bc6\u522b\u4e3a\u4f8b":24,"\u8fd9\u91cc\u4f7f\u7528\u7b80\u5355\u7684":14,"\u8fd9\u91cc\u53ef\u4ee5\u53c2\u8003paddle\u7684":22,"\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528\u7b80\u5355\u7684\u6587\u672c\u6587\u4ef6\u8868\u793amnist\u56fe\u7247":24,"\u8fd9\u91cc\u6307\u5b9a\u8bcd\u5178":13,"\u8fd9\u91cc\u6ca1\u6709\u4ecb\u7ecd\u591a\u673a\u5206\u5e03\u5f0f\u8bad\u7ec3":13,"\u8fd9\u91cc\u7684":24,"\u8fd9\u91cc\u7684\u8f93\u5165\u7279\u5f81\u662f\u8bcdid\u7684\u5e8f\u5217":24,"\u8fd9\u91cc\u8981\u6ce8\u610f\u9884\u6d4b\u6570\u636e\u901a\u5e38":27,"\u8fd9\u91cc\u8bbe\u7f6e\u7684\u662f\u8fd4\u56de\u4e00\u4e2a":24,"\u8fd9\u91cc\u8bf4\u660e\u4e86\u8bad\u7ec3\u6570\u636e\u662f":24,"\u8fd9\u91cc\u91c7\u7528adam\u4f18\u5316\u65b9\u6cd5":13,"\u8fdb\u5165\u8be5\u6e90\u7801\u76ee\u5f55":3,"\u8fdb\u5165docker":9,"\u8fdc\u7a0b\u8bbf\u95ee":9,"\u8fde\u63a5":2,"\u8fde\u63a5\u8bf7\u53c2\u8003":13,"\u9002\u4e2d":1,"\u9009":1,"\u9009\u62e9":1,"\u9009\u62e9\u666e\u901acpu\u7248\u672c\u7684devel\u7248\u672c\u7684imag":9,"\u9009\u9879":4,"\u901a\u5e38\u505a\u6cd5\u662f\u4ece\u4e00\u4e2a\u6bd4\u8f83\u5927\u7684learning_rate\u5f00\u59cb\u8bd5":14,"\u901a\u5e38\u6765\u8bf4\u6267\u884c\u4e0bgrep":14,"\u901a\u5e38\u6839\u636e\u4efb\u52a1\u9700\u6c42\u8fdb\u884c\u4e0d\u540c\u8bbe\u7f6e":1,"\u901a\u77e5":1,"\u901a\u8fc7\u4e24\u4e2a\u5d4c\u5957\u7684":2,"\u901a\u8fc7\u591a\u7ec4\u8bed\u4e49\u76f8\u540c\u7684\u5355\u53cc\u5c42rnn\u914d\u7f6e":1,"\u901a\u8fc7\u5f15\u7528memory\u5f97\u5230\u8fd9\u4e2alayer\u4e0a\u4e00\u4e2a\u65f6\u523b\u7684\u8f93\u51fa":2,"\u901a\u8fc7\u5f15\u7528memory\u5f97\u5230\u8fd9\u4e2alayer\u4e0a\u4e00\u4e2a\u65f6\u523b\u8f93\u51fa":2,"\u901a\u8fc7\u7f16\u8bd1\u65f6\u6307\u5b9a\u8def\u5f84\u6765\u5b9e\u73b0\u5f15\u7528\u5404\u79cdbla":4,"\u901a\u8fc7data":2,"\u903b\u8f91\u56de\u5f52":13,"\u9053\u6b49":1,"\u9069":1,"\u90a3\u4e48":[2,24],"\u90a3\u4e480\u5c42\u5e8f\u5217\u5373\u4e3a\u4e00\u4e2a\u8bcd\u8bed":2,"\u90a3\u4e48\u53ef\u4ee5\u8ba4\u4e3a\u8bad\u7ec3\u4e0d\u6536\u655b":14,"\u90a3\u4e48\u5728\u8bad\u7ec3\u8fc7\u7a0b\u4e2d":23,"\u90a3\u4e48\u5982\u4f55\u5224\u65ad\u8bad\u7ec3\u4e0d\u6536\u655b\u5462":14,"\u90a3\u4e48\u5bf9\u5e94\u7684dataprovider\u65e2\u4e3a":24,"\u90a3\u4e48\u5e38\u6570\u8f93\u51fa\u6240\u80fd\u8fbe\u5230\u7684\u6700\u5c0fcost\u662f":14,"\u90a3\u4e48\u6211\u4eec\u53ef\u4ee5\u5224\u65ad\u4e3a\u8bad\u7ec3\u4e0d\u6536\u655b":14,"\u90a3\u4e48\u6536\u655b\u53ef\u80fd\u5f88\u6162":14,"\u90a3\u4e48\u6700\u597d\u5c06\u6570\u636e\u6587\u4ef6\u5728\u6bcf\u6b21\u8bfb\u53d6\u4e4b\u524d\u505a\u4e00\u6b21shuffl":14,"\u90a3\u4e48\u8bad\u7ec3\u6709\u53ef\u80fd\u4e0d\u6536\u655b":14,"\u90a3\u4e48\u8be5\u4f18\u5316\u7b97\u6cd5\u81f3\u5c11\u9700\u8981":14,"\u90a3\u4e48\u8fd9\u4e2a\u4e0b\u8f7d\u7ebf\u7a0b\u5c06\u4f1a\u5173\u95ed":3,"\u90a3\u4e48paddlepaddle\u4f1a\u7c97\u7565\u7684\u6839\u636elayer\u7684\u58f0\u660e\u987a\u5e8f":24,"\u90a3\u51cf\u5c11\u5b66\u4e60\u738710\u500d\u7ee7\u7eed\u8bd5\u9a8c":14,"\u90e8\u5206\u8001\u7684cpu\u578b\u53f7\u65e0\u6cd5\u652f\u6301\u8fd9\u6837\u7684\u6307\u4ee4":14,"\u90fd":1,"\u90fd\u4f20\u9012\u7ed9process\u51fd\u6570":24,"\u90fd\u662f\u5bf9layer1\u5143\u7d20\u7684\u62f7\u8d1d":0,"\u914d\u7f6e":1,"\u914d\u7f6e\u4e86":24,"\u914d\u7f6e\u53c2\u6570\u914d\u7f6e\u7ed9dataprovider\u7684":24,"\u914d\u7f6e\u6587\u4ef6":13,"\u914d\u7f6eapi":0,"\u9152\u5e97":1,"\u91c7\u7528multi":14,"\u91cc\u4f1a\u7ee7\u7eed\u5b89\u88c5":10,"\u91cc\u63d0\u4f9b\u4e86\u6570\u636e\u4e0b\u8f7d\u811a\u672c":13,"\u91cc\u9762\u8bfb\u53d6":24,"\u91cd\u65b0\u7f16\u8bd1paddlepaddl":14,"\u91cf\u4e5f\u53ef\u4ee5\u901a\u8fc7\u8c03\u7528cmake\u547d\u4ee4\u524d\u901a\u8fc7\u73af\u5883\u53d8\u91cf\u6307\u5b9a":4,"\u9488\u5bf9\u5185\u5b58\u548c\u663e\u5b58":14,"\u9488\u5bf9\u672c\u95ee\u9898":13,"\u94fe\u63a5\u4f55\u79cdblas\u7b49\u7b49":4,"\u9519\u8bef\u7387":13,"\u957f\u5ea6":14,"\u95f4\u63a5\u4f7f\u7528":1,"\u95f4\u9694":24,"\u9664\u4e86":24,"\u9664\u4e86boot":1,"\u9664\u8fc7data\u5c42":13,"\u9700\u8981\u5148\u5728\u6bcf\u4e2a\u8282\u70b9\u542f\u52a8":14,"\u9700\u8981\u53c2\u8003":9,"\u9700\u8981\u5c06\u5176parameter\u8bbe\u7f6e\u6210":14,"\u9700\u8981\u652f\u6301avx\u6307\u4ee4\u96c6\u7684cpu":9,"\u9700\u8981\u6ce8\u610f":24,"\u9700\u8981\u6ce8\u610f\u7684\u662f":[4,10],"\u9700\u8981\u9075\u5faa\u4ee5\u4e0b\u7ea6\u5b9a":2,"\u9884\u6d4b\u6570\u636e\u6307\u5b9atest":13,"\u9884\u6d4b\u7ed3\u679c\u4ee5\u6587\u672c\u7684\u5f62\u5f0f\u4fdd\u5b58\u5728":13,"\u9884\u6d4b\u811a\u672c":13,"\u9884\u6d4bid":13,"\u989d\u5916\u7684\u53c2\u6570":13,"\u9996\u5148":1,"\u9996\u5148\u5217\u4e3e\u903b\u8f91\u56de\u5f52\u7f51\u7edc":13,"\u9996\u5148\u6211\u4eec\u5c06\u8fd9\u4e2a\u6570\u636e\u6587\u4ef6":24,"\u9996\u5148\u8bf7\u53c2\u8003":13,"\u9aa43":13,"\u9ad8\u65af\u5206\u5e03":14,"\u9ed8\u8ba4\u4e00\u4e2apass\u4fdd\u5b58\u4e00\u6b21\u6a21\u578b":13,"\u9ed8\u8ba4\u4e0d\u8bbe\u7f6e":2,"\u9ed8\u8ba4\u4e3a\u7b2c\u4e00\u4e2a\u8f93\u5165":2,"\u9ed8\u8ba4\u503c":[0,4],"\u9ed8\u8ba4\u521d\u59cb\u72b6\u4e3a0":2,"\u9ed8\u8ba4\u5355\u4f4d\u662fbyte":3,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b":14,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u4e00\u6761\u6570\u636e":24,"adamax\u7b49":13,"amazon\u7535\u5b50\u4ea7\u54c1\u8bc4\u8bba\u6570\u636e":13,"api\u9884\u6d4b":13,"argument\u4f20\u5165":24,"argument\u5f62\u5f0f\u4f20\u5165":24,"async_sgd\u8fdb\u884c\u8bad\u7ec3\u65f6":14,"atlas\u5e93\u7684\u8def\u5f84":4,"batch\u4e2d\u5305\u542b":14,"batches\u8bbe\u7f6e\u6bcf\u9694\u591a\u5c11batch\u4fdd\u5b58\u4e00\u6b21\u6a21\u578b":13,"bool\u53c2\u6570":24,"case":[13,26],"cd\u5230\u542b\u6709dockerfile\u7684\u8def\u5f84\u4e2d":9,"check\u662ffalse\u7684\u8bdd":24,"class":14,"cmake\u53ef\u4ee5\u5c06cmake\u9879\u76ee\u6587\u4ef6":4,"cmake\u662f\u4e00\u4e2a\u8de8\u5e73\u53f0\u7684\u7f16\u8bd1\u811a\u672c":4,"cmake\u7684\u5b98\u65b9\u6587\u6863":4,"cmake\u7f16\u8bd1\u65f6\u4f1a\u9996\u5148\u5728\u7cfb\u7edf\u8def\u5f84":4,"container\u540e":9,"cost\u8fd8\u5927\u4e8e\u8fd9\u4e2a\u6570":14,"cpu\u7248\u672c":9,"cpuinfo\u770b\u770b\u662f\u5426\u6709\u8f93\u51fa\u5373\u53ef\u77e5\u9053\u662f\u5426\u652f\u6301":14,"cuda\u76f8\u5173\u7684driver\u548c\u8bbe\u5907\u6620\u5c04\u8fdbcontainer\u4e2d":9,"d\u547d\u4ee4\u5373\u53ef":4,"d\u547d\u4ee4\u6307\u5b9a":4,"dataprovider\u521b\u5efa\u7684\u65f6\u5019\u6267\u884c":24,"dataprovider\u53ef\u4ee5\u662f":24,"dataprovider\u63d0\u4f9b\u4e86\u4e24\u79cd\u7b80\u5355\u7684cache\u7b56\u7565":24,"dataprovider\u7684\u5177\u4f53\u7528\u6cd5\u548c\u5982\u4f55\u5b9e\u73b0\u4e00\u4e2a\u65b0\u7684dataprovid":23,"dataprovider\u7f13\u51b2\u6c60\u5185\u5b58":14,"decoder\u5faa\u73af\u5c55\u5f00\u7684\u6bcf\u4e00\u4e2a\u65f6\u95f4\u6b65\u4f1a\u5f15\u7528\u5168\u90e8\u7ed3\u679c":2,"decoder\u63a5\u53d7\u4e24\u4e2a\u8f93\u5165":2,"decoder\u6bcf\u6b21\u9884\u6d4b\u4ea7\u751f\u4e0b\u4e00\u4e2a\u6700\u53ef\u80fd\u7684\u8bcd\u8bed":2,"decoer\u67b6\u6784":2,"devel\u548cdemo":9,"dim\u7684\u65b0\u7684\u5411\u91cf":13,"dim\u7ef4\u5ea6\u5411\u91cf":13,"docker\u662f\u4e00\u4e2a\u57fa\u4e8e\u5bb9\u5668\u7684\u8f7b\u91cf\u7ea7\u865a\u62df\u73af\u5883":9,"docker\u7684\u5b98\u65b9\u6587\u6863":9,"dockerfile\u548cbuild":3,"dockerfile\u662fdock":3,"dockerfile\u7684\u6587\u6863":9,"dockerfile\u7684\u6700\u4f73\u5b9e\u8df5":9,"driver\u6dfb\u52a0\u5230ld_library_path\u4e2d":10,"elec\u6d4b\u8bd5\u96c6":13,"embedding\u6a21\u578b\u9700\u8981\u7a0d\u5fae\u6539\u53d8\u6570\u636e\u63d0\u4f9b\u7684\u811a\u672c":13,"encoder\u548cdecoder\u53ef\u4ee5\u662f\u80fd\u591f\u5904\u7406\u5e8f\u5217\u7684\u4efb\u610f\u795e\u7ecf\u7f51\u7edc\u5355\u5143":2,"encoder\u8f93\u51fa":2,"entropy\u4f5c\u4e3acost":14,"export":[4,9,10],"f\u4ee3\u8868\u4e00\u4e2a\u6d6e\u70b9\u6570":24,"float":24,"generator\u4fbf\u4f1a\u5b58\u4e0b\u5f53\u524d\u7684\u4e0a\u4e0b\u6587":24,"generator\u7684\u4e0a\u4e0b\u6587\u4e2d\u5c3d\u91cf\u7559":24,"generator\u81f3\u5c11\u8c03\u7528\u4e24\u6b21\u624d\u4f1a\u77e5\u9053\u662f\u5426\u505c\u6b62":24,"gpu\u53cc\u7f13\u5b58":24,"gpu\u7248\u672c":9,"gpu\u7248\u672c\u4e8c\u8fdb\u5236":4,"group\u548c\u5355\u5c42\u5e8f\u5217\u7684\u51e0\u4e4e\u4e00\u6837":1,"group\u5916":1,"gru\u6a21\u578b":13,"gru\u6a21\u578b\u914d\u7f6e":13,"i\u4ee3\u8868\u4e00\u4e2a\u6574\u6570":24,"id\u4e3a0\u7684\u6982\u7387":13,"id\u4e3a1\u7684\u6982\u7387":13,"image\u6784\u5efa\u6e90\u7801\u653e\u7f6e\u5728":3,"image\u7684\u4e3b\u8981\u63cf\u8ff0\u6587\u4ef6":3,"image\u7684\u4e3b\u8981\u6784\u5efa\u6b65\u9aa4":3,"image\u7684\u6784\u5efa\u6b65\u9aa4":3,"import":[13,14,24,27],"include\u4e0b\u9700\u8981\u5305\u542bcbla":4,"include\u4e0b\u9700\u8981\u5305\u542bmkl":4,"init_hook\u53ef\u4ee5\u4f20\u5165\u4e00\u4e2a\u51fd\u6570":24,"int":[1,13,24],"key\u662fdata_layer\u7684\u540d\u5b57":24,"label\u662finteg":1,"layer1\u5fc5\u987b\u662f\u4e00\u4e2a0\u5c42\u5e8f\u5217":0,"layer1\u5fc5\u987b\u662f\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":0,"layer2\u4e00\u81f4":0,"layer2\u53ef\u4ee5\u662f\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":0,"layer2\u5fc5\u987b\u662f\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217":0,"layer\u4e0d\u5173\u5fc3\u6570\u636e\u662f\u5426\u662f\u5e8f\u5217\u683c\u5f0f":1,"layer\u4e0d\u80fd\u94fe\u63a5\u5916\u5c42\u7684\u8fd9\u4e2amemori":1,"layer\u4f20\u7ed9\u4e0b\u4e00\u4e2a\u5b50\u53e5\u7684memori":1,"layer\u4f5c\u4e3a\u8f93\u51fa":27,"layer\u540e":1,"layer\u548caverag":1,"layer\u548cembed":1,"layer\u548clstmemori":1,"layer\u5c42":1,"layer\u62ff\u5230\u7684\u7528\u6237\u8f93\u5165":2,"layer\u6587\u6863":13,"layer\u7684\u4f7f\u7528\u793a\u4f8b\u5982\u4e0b":0,"ld_library_path\u7b49\u7b49":10,"ld_library_path\u91cc\u9762\u627e\u4e0d\u5230\u8fd9\u4e9b\u52a8\u6001":10,"lib\u4e0b\u9700\u8981\u5305\u542bcblas\u548catlas\u4e24\u4e2a\u5e93":4,"lib\u4e0b\u9700\u8981\u5305\u542bcblas\u5e93":4,"lib\u4e0b\u9700\u8981\u5305\u542bopenblas\u5e93":4,"lib\u76ee\u5f55\u4e0b\u9700\u8981\u5305\u542b":4,"list\u4e0d\u8bbe\u7f6e":23,"list\u4e2d":[23,24],"list\u4e2d\u7684\u4e00\u884c":24,"list\u4e2d\u7684\u6bcf\u4e00\u884c":24,"list\u4e3a\u7eaf\u6587\u672c\u6587\u4ef6":23,"list\u4e5f\u53ef\u4ee5\u653e\u7f6ehdfs\u6587\u4ef6\u8def\u5f84":23,"list\u5199\u5165\u90a3\u4e2a\u6587\u672c\u6587\u4ef6\u7684\u5730\u5740":24,"list\u5373\u4e3a":24,"list\u548ctest":23,"list\u5747\u4e3a\u672c\u5730\u7684\u4e24\u4e2a\u6587\u4ef6":23,"list\u6307\u5b9a\u7684\u6570\u636e":13,"list\u7684\u4f4d\u7f6e":13,"list\u82e5\u5e72\u6570\u636e\u6587\u4ef6\u8def\u5f84\u7684\u67d0\u4e00\u4e2a\u8def\u5f84":24,"lstm\u6a21\u578b\u7b49":13,"lstm\u6a21\u578b\u914d\u7f6e":13,"make\u548cmak":5,"mem\u4f5c\u4e3a\u5185\u5c42memory\u7684\u521d\u59cb\u72b6\u6001":1,"mem\u662f\u4e00\u4e2a\u5b50\u53e5\u7684\u6700\u540e\u4e00\u4e2a\u5411\u91cf":1,"memory\u4e0d\u80fd\u72ec\u7acb\u5b58\u5728":2,"memory\u53ea\u80fd\u5728":2,"memory\u6307\u5411\u4e00\u4e2alay":2,"memory\u7684\u521d\u59cb\u72b6\u6001":2,"memory\u7684\u66f4\u591a\u8ba8\u8bba\u8bf7\u53c2\u8003\u8bba\u6587":2,"memory\u7684i":2,"memory\u9ed8\u8ba4\u521d\u59cb\u5316\u4e3a0":2,"mkl\u7684\u8def\u5f84":4,"mkl_sequential\u548cmkl_intel_lp64\u4e09\u4e2a\u5e93":4,"mnist\u662f\u4e00\u4e2a\u5305\u542b\u6709":24,"movielens\u6570\u636e\u96c6":12,"movielens\u8bc4\u5206\u56de\u5f52":12,"name\u90fd\u662f":9,"no_avx\u7684":14,"osx\u6216\u8005\u662fwindows\u673a\u5668":9,"osx\u7684\u5b89\u88c5\u6587\u6863":9,"paddle\u5728\u8fdb\u884c\u8ba1\u7b97\u7684\u65f6\u5019\u4e3a\u4e86\u63d0\u5347\u8ba1\u7b97\u6027\u80fd":14,"paddle\u5b9a\u4e49\u7684\u53c2\u6570\u5305\u62ec":24,"paddle\u7684":10,"paddlepaddle\u4e2d":[0,2],"paddlepaddle\u4f7f\u7528\u5747\u503c0":14,"paddlepaddle\u4f7f\u7528\u8fd0\u884c\u65f6\u52a8\u6001\u8fde\u63a5cuda\u7684so":10,"paddlepaddle\u4fdd\u7559\u6dfb\u52a0\u53c2\u6570\u7684\u6743\u529b":24,"paddlepaddle\u53ef\u4ee5\u4f7f\u7528":4,"paddlepaddle\u53ef\u4ee5\u8bfb\u53d6python\u5199\u7684\u4f20\u8f93\u6570\u636e\u811a\u672c":13,"paddlepaddle\u5728\u8fd0\u884c\u65f6\u627e\u4e0d\u5230\u5bf9\u5e94\u7684config\u6587\u4ef6":10,"paddlepaddle\u5c06train":24,"paddlepaddle\u63a8\u8350\u4f7f\u7528docker\u8fdb\u884cpaddlepaddle\u7684\u90e8\u7f72\u548c":9,"paddlepaddle\u63d0\u4f9b\u4e86docker\u7684\u4f7f\u7528\u955c\u50cf":9,"paddlepaddle\u63d0\u4f9b\u6570\u4e2a\u9884\u7f16\u8bd1\u7684\u4e8c\u8fdb\u5236\u6765\u8fdb\u884c\u5b89\u88c5":8,"paddlepaddle\u63d0\u4f9b\u7684\u955c\u50cf\u5e76\u4e0d\u5305\u542b\u4efb\u4f55\u547d\u4ee4\u8fd0\u884c":9,"paddlepaddle\u652f\u6301\u975e\u5e38\u591a\u7684\u4f18\u5316\u7b97\u6cd5":14,"paddlepaddle\u652f\u6301sparse\u7684\u8bad\u7ec3":14,"paddlepaddle\u662f\u795e\u7ecf\u7f51\u7edc\u8bad\u7ec3\u5e73\u53f0":14,"paddlepaddle\u7684\u5185\u5b58\u5360\u7528\u4e3b\u8981\u5206\u4e3a\u5982\u4e0b\u51e0\u4e2a\u65b9\u9762":14,"paddlepaddle\u7684\u53c2\u6570\u4f7f\u7528\u540d\u5b57":14,"paddlepaddle\u7684\u6570\u636e\u5305\u62ec\u56db\u79cd\u4e3b\u8981\u7c7b\u578b":24,"paddlepaddle\u7684\u7f16\u8bd1\u9009\u9879\u53ef\u4ee5\u5728\u8c03\u7528cmake\u7684\u65f6\u5019\u8bbe\u7f6e":4,"paddlepaddle\u7684\u7f16\u8bd1\u9009\u9879\u662f\u53ef\u4ee5\u63a7\u5236paddlepaddle\u751f\u6210cpu":4,"paddlepaddle\u7684dock":3,"paddlepaddle\u7684python\u9884\u6d4b\u63a5\u53e3":26,"paddlepaddle\u7684ubuntu\u5b89\u88c5\u5305\u5206\u4e3a\u56db\u4e2a\u7248\u672c":10,"paddlepaddle\u76ee\u524d\u4f7f\u7528swig\u5bf9\u5176\u5e38\u7528\u7684\u9884\u6d4b\u63a5\u53e3\u8fdb\u884c\u4e86\u5c01\u88c5":27,"paddlepaddle\u76ee\u524d\u63d0\u4f9b\u4e24\u79cd\u53c2\u6570\u521d\u59cb\u5316\u7684\u65b9\u5f0f":14,"paddlepaddle\u76ee\u524d\u652f\u6301\u4f7f\u7528deb\u5305\u5b89\u88c5":10,"paddlepaddle\u8d1f\u8d23\u5b8c\u6210\u4fe1\u606f\u548c\u68af\u5ea6\u5728\u65f6\u95f4\u5e8f\u5217\u4e0a\u7684\u4f20\u64ad":2,"paddlepaddle\u8d1f\u8d23\u5b8c\u6210\u4fe1\u606f\u548c\u8bef\u5dee\u5728\u65f6\u95f4\u5e8f\u5217\u4e0a\u7684\u4f20\u64ad":2,"paddlepaddle\u8fd0\u884c\u65f6\u5982\u679c\u6ca1\u6709\u5bfb\u627e\u5230cuda\u7684driv":10,"paddlepaddle\u9700\u8981\u7528\u6237\u5728\u7f51\u7edc\u914d\u7f6e":23,"period\u8bbe\u7f6e\u6253\u5370\u53c2\u6570\u4fe1\u606f\u7b49":13,"process\u51fd\u6570":24,"process\u51fd\u6570\u662f\u5b9e\u73b0\u6570\u636e\u8f93\u5165\u7684\u4e3b\u51fd\u6570":24,"process\u51fd\u6570\u8c03\u7528\u591a\u6b21":24,"pserver\u4e3apaddlepaddle\u7684paramet":17,"pserver\u7684\u547d\u4ee4\u884c\u53c2\u6570":17,"pserver\u7ec4\u5408\u4f7f\u7528":17,"py\u6587\u4ef6\u7ed9\u51fa\u4e86\u5b8c\u6574\u4f8b\u5b50":13,"pydataprovider2\u4f1a\u5c3d\u91cf\u4f7f\u7528\u5185\u5b58":24,"pydataprovider2\u6587\u6863":27,"pydataprovider2\u7684\u4f7f\u7528":23,"pydataprovider\u4f7f\u7528\u7684\u662f\u5f02\u6b65\u52a0\u8f7d":14,"pydataprovider\u662fpaddlepaddle\u4f7f\u7528python\u63d0\u4f9b\u6570\u636e\u7684\u63a8\u8350\u63a5\u53e3":24,"python\u5305":9,"python\u53ef\u4ee5\u89e3\u9664\u6389\u5185\u90e8\u53d8\u91cf\u7684\u5f15\u7528":24,"python\u7684":9,"python\u7684swig\u63a5\u53e3\u53ef\u4ee5\u65b9\u4fbf\u8fdb\u884c\u9884\u6d4b\u548c\u5b9a\u5236\u5316\u8bad\u7ec3":4,"return":[1,13,24],"rnn\u603b\u662f\u5f15\u7528\u4e0a\u4e00\u65f6\u523b\u9884\u6d4b\u51fa\u7684\u8bcd\u7684\u8bcd\u5411\u91cf":2,"search\u7684\u751f\u6210":1,"seq\u53c2\u6570\u5fc5\u987b\u4e3afals":2,"seq\u540e":1,"seq\u5c42":1,"seq\u7684\u4f7f\u7528\u793a\u4f8b\u5982\u4e0b":0,"seq\u7c7b\u4f3c":0,"sequence\u7c7b\u578b":1,"server\u8fdb\u7a0b":17,"sh\u662fdocker":3,"shuffle\u8bad\u7ec3\u6570\u636e":24,"size\u53ef\u80fd\u4f1a\u5bf9\u8bad\u7ec3\u7ed3\u679c\u4ea7\u751f\u5f71\u54cd":14,"size\u672c\u8eab\u662f\u795e\u7ecf\u7f51\u7edc\u7684\u8d85\u53c2\u6570":14,"slot\u662finteg":1,"softmax\u8f93\u51fa":13,"sparse\u8bad\u7ec3\u7684\u6587\u6863":14,"sparse\u8bad\u7ec3\u9700\u8981\u8bad\u7ec3\u7279\u5f81\u662f":14,"state\u505a\u4e86\u4e00\u4e2a\u5168\u94fe\u63a5":1,"step\u4e2d":1,"step\u51fd\u6570\u4e2d\u7684memori":2,"step\u51fd\u6570\u5185\u90e8\u53ef\u4ee5\u81ea\u7531\u7ec4\u5408paddlepaddle\u652f\u6301\u7684\u5404\u79cdlay":2,"step\u7684recurr":1,"string\u7684\u683c\u5f0f\u6253\u5370\u51fa\u6765":17,"subseq\u7684\u6bcf\u4e2a\u5143\u7d20\u662f\u4e00\u4e2a0\u5c42\u5e8f\u5217":0,"swig_paddle\u63a5\u53d7\u7684\u539f\u59cb\u6570\u636e\u662fc":27,"tag\u5206\u522b\u4e3a":9,"train\u5373\u4e3apaddlepaddle\u7684\u8bad\u7ec3\u8fdb\u7a0b":17,"train\u5b8c\u6210\u5355\u673a\u591a\u663e\u5361\u591a\u7ebf\u7a0b\u7684\u8bad":17,"train\u7684\u547d\u4ee4\u884c\u53c2\u6570":17,"true":[1,14],"true\u7684memory\u65f6":1,"types\u7684\u8be6\u7ec6\u7528\u6cd5":1,"ubuntu\u7684deb\u5b89\u88c5\u5305\u7b49":8,"v2\u4e4b\u540e\u7684\u4efb\u4f55\u4e00\u4e2acudnn\u7248\u672c\u6765\u7f16\u8bd1\u8fd0\u884c":4,"value\u5373\u4e3asoftmax\u5c42\u7684\u8f93\u51fa":27,"value\u662f\u7279\u5f81\u503c":24,"value\u7c7b\u578b":1,"var":9,"vector\u8868\u793a\u7684\u6bcf\u4e2a\u5355\u8bcd":13,"version\u53ef\u4ee5\u6253\u5370\u51fapaddle\u7684\u7248\u672c\u4fe1\u606f\u548c\u7f16\u8bd1\u7684\u9009\u9879":22,"version\u53ef\u4ee5\u6253\u5370\u51fapaddlepaddle\u7684\u7248\u672c\u548c\u7f16\u8bd1\u65f6\u4fe1\u606f":17,"version\u7684\u547d\u4ee4\u884c\u53c2\u6570":17,"yield\u6587\u672c\u4fe1\u606f\u548c\u7c7b\u522bid":13,__main__:27,__name__:27,abov:24,act:[1,13,14],act_typ:13,activ:13,adadelta:[13,14],adagrad:13,adam:13,adamoptim:13,afi:24,agg_level:[0,1],aggregatelevel:[0,1],all:[2,24],allow:13,alreadi:10,also:13,append:[1,24],apt:[9,10],arg:[3,13,24],around:24,arrai:27,assert:27,atla:4,atlas_root:4,averag:1,avg:13,avgcost:13,avgpool:[0,1,13],avx:[9,14],bag:13,baidu:[9,10],batch:13,batch_siz:[1,13,14],batchsiz:1,beam:1,beam_search:2,befor:14,bias_attr:[1,14],bias_param:14,binari:13,bla:4,bool:13,boot:2,boot_lay:1,both:13,bow:13,build:[3,9],cach:[13,14,23],cache_pass_in_mem:[13,14,24],cachetyp:[13,14,24],calc_batch_s:24,call:13,can:13,can_over_batch_s:24,cat:9,categori:13,check:[1,10,24],check_fail_continu:24,chines:12,chpasswd:9,classif:13,classification_cost:[1,13,14],classification_error_evalu:13,close:24,cmake:4,cmd:9,cnn:13,code:[3,14,24,27],com:[9,10],comment:[1,13],compil:[10,22],conf:[1,27],config:[10,13],config_arg:13,config_pars:27,connect:13,contain:[13,24],context:24,context_len:13,context_start:13,convert:[13,24,27],couldn:10,cpp:[10,13],cpu:[9,10,24],cpuinfo:9,createfromconfigproto:27,cross:[13,14],cuda_so:9,cudastat:10,cudasuccess:10,cudnn:4,cudnn_root:4,cudnnv5:4,current:[13,24],currentcost:13,currentev:13,dalla:24,data:[1,10],data_config:27,data_initialz:13,data_lay:[1,13,14,24],dataprovid:[13,14],dataprovider_bow:13,dataprovider_emb:13,dataproviderconvert:27,dataset:13,deb:10,debian:10,decod:2,decor:24,def:[1,13,14,24,27],defin:[13,14,24],define_py_data_sources2:[13,24],delar:13,demo:[9,13],dense_vector:[24,27],describ:13,descript:26,detail:26,dev:9,devel:9,devic:9,devices:9,dict:[13,24],dict_dim:[1,14],dict_fil:[1,13],dictionai:13,dictionari:[13,14,24],dictrionari:13,differ:13,dim:13,dimens:[13,14],dir:13,doc:27,documentari:24,dpkg:10,driver:10,dso_handl:10,dtype:27,dump_config:17,dure:[13,24],dwith_avx:14,dynam:24,each:[13,24],each_pixel_str:24,each_sequence:[0,1],each_word:24,echo:9,either:13,els:[1,9,13],emb:[1,13,14],emb_group:1,emb_sum:14,embed:12,embedding_lay:[1,13,14],entropi:13,enumer:13,equal:1,error:[10,13],error_clipping_threshold:1,etc:9,eval:13,exampl:13,expand:[0,1],expand_a:[0,1],expand_level:[0,1],expandlevel:[0,1],expose:9,extralayerattribut:1,f0831:10,fail:[1,10],fals:[13,14],fc_layer:[1,13,14],fc_param:14,fdata:1,featur:[13,24],feature_a:14,feature_b:14,festiv:24,file:[13,24],file_list:24,file_nam:[1,13],filenam:[14,24],fill:13,find:10,first:[0,13],float32:27,fly:13,forwardtest:27,framework:13,from:[2,9,13,14,24,27],from_sequence:[0,1],from_timestep:0,full_matrix_project:1,fulli:13,func:24,gate_act:1,gdebi:10,gener:[13,24],generatedinput:2,get:[9,10,13,24],get_config_arg:13,get_data:13,get_sample_from_lin:14,github:10,give:24,given:13,globe:24,gpu:[9,10],gradient_clipping_threshold:13,gradientmachin:27,grep:9,group:1,group_input:1,gru:13,gru_siz:13,gserver:1,hassubseq:1,help:27,hidden:14,hidden_a:14,hidden_b:14,hidden_dim:1,hierach:2,hint:27,hl_cuda_devic:10,hl_dso_load:10,hook2:1,hook:1,host:9,hot:13,hous:24,howardjohnson:1,http:10,ignor:24,imag:[9,14],imagenet:12,img:24,inarg:27,includ:13,init:13,init_hook:[1,13,23],init_model_path:13,initi:[13,24],initial_max:14,initial_mean:14,initial_min:14,initial_std:14,initpaddl:27,inner:14,inner_mem:1,inner_rnn_output:1,inner_rnn_st:1,inner_step:1,input:[0,1,2,13,14,24],input_typ:[1,13,14,23],instal:5,insuffici:10,integ:[13,24],integer_sequ:[14,24],integer_valu:[1,13,14,24],integer_value_sequ:[1,13],integer_value_sub_sequ:1,invok:24,ipt:14,is_predict:13,is_train:24,isinst:27,iterat:24,job:13,join:1,kernel:9,kwarg:[1,13,24],l2regular:13,label:[1,13,14,24],label_dim:[1,13],label_list:1,lake:24,last:[0,1],later:13,latest:[3,9],layer1:0,layer2:0,layer:[0,1,2,13],ld_library_path:10,learning_method:13,learning_r:[13,14],len:[1,13,24],level:2,lib64:[9,10],lib:4,libcuda:9,libnvidia:9,librari:10,line:1,link:2,list:[13,23,24],load_data_arg:27,loadparamet:27,local:[4,10],log_period:13,logger:24,look:[13,24],loss:13,lowest_dl_speed:3,lstm:[1,13],lstm_averag:1,lstm_expand:1,lstm_group:1,lstm_group_input:1,lstm_input:1,lstm_last:1,lstm_layer_attr:1,lstm_nest_group:1,lstm_output:1,lstm_size:13,lstmemori:1,lstmemory_group:1,mac:9,machin:2,main:27,maintainer:9,make:[10,24],make_diagram:17,maxid:13,maxid_lay:13,maxpool:0,mean:[13,14],mem:1,memori:1,merge_model:17,method:24,min_pool_s:[14,24],mixed_lay:1,mkdir:9,mkl:4,mkl_core:4,mkl_root:4,mnist:24,mnist_model:27,mnist_provid:24,mnist_train:24,model_config:27,modul:[13,24],momentum:[13,14],movi:24,must:10,name:[1,9,13,14,24],necessari:13,need:13,neg:[13,24],nest:1,net:9,neural:2,next:24,no_cache:24,no_sequence:24,noavx:[9,10],none:[13,24,27],normal:9,note:10,now:2,nullptr:10,num:13,num_pass:13,nvidia:9,obj:[13,24],object:[13,24],off:[3,4,10,14,22],omit:[13,14],on_init:24,onli:[2,13],open:[1,13,14,24],openbla:4,openblas_root:4,openssh:9,opt:4,other:13,out:[1,2],outer:1,outer_mem:1,outer_rnn_st:1,outer_step:1,outlin:26,output:[1,13,14],outsid:24,paddl:[1,3,9,10,13,14,17],paddle_gpu:3,paddle_ssh:9,paddle_ssh_machin:9,paddledev:9,paddlepaddl:[9,10,22,27],param_attr:14,paramattr:14,paramet:13,parse_config:27,pass:[13,14,24],path:[10,13],period:13,permitrootlogin:9,pixel:24,pixels_float:24,pixels_str:24,place:24,pleas:10,pool:0,pool_siz:24,pooling_typ:[0,1,13,14],posit:[13,24],pred:13,predict_output_dir:13,predict_sampl:27,preprocess:13,print:27,proc:[9,14],process2:1,process:[1,13,14,24],process_pr:13,process_seq:1,process_subseq:1,properli:13,provid:1,pserver:14,pull:9,put:13,py_paddl:[9,27],pydataprovid:[14,23],pydataprovider2:[13,24,27],pydataproviderwrapp:13,python:[13,14],quick_start:13,rang:13,rank:13,rare:24,read:[13,24],read_next_from_fil:14,real_process:24,recurrent_group:[1,2],refer:23,reference_cblas_root:4,reffer:4,regular:13,releas:10,repres:13,represent:13,resnet:12,result:[13,24],revers:2,rmsprop:13,rnn:2,rnn_data_provid:1,rnn_state:1,roce:9,root:9,run:9,runtim:[10,24],same:[13,24],sampl:[13,24],save:[13,24],save_dir:13,saw:24,sbin:9,script:3,second:13,sed:9,see:13,sentanc:14,sentenc:24,sentiment:24,sentimental_provid:24,separ:13,seq:[0,1],seq_pool:0,seq_typ:24,seqlastin:1,sequel:24,sequenc:[1,2],sequence:24,sequence_conv_pool:13,sequence_layer_group:1,sequence_nest_layer_group:1,sequence_nest_rnn:1,sequence_nest_rnn_readonly_memori:1,sequence_rnn:1,sequencegen:1,sequencestartposit:1,sequencetyp:24,server:9,set:[1,13,14,24],setup:13,should:2,should_shuffl:24,shuf:14,shuffl:14,sigmoidactiv:1,simple_gru:13,simple_lstm:13,size:[1,13,14,24],softmax:[13,14],softmax_param:14,softmaxactiv:[1,13,14],sourc:13,spars:[13,14],sparse_binary_vector:[13,14,24],sparse_float_vector:24,sparse_upd:14,sparse_vector:14,specifi:[10,13],split:[1,13,24],src_root:27,ssh:9,sshd:9,sshd_config:9,stat:13,state:2,state_act:1,staticinput:2,step:[1,2],stop:9,store:13,string:24,strip:[1,13],structur:13,stun:24,sub:1,sub_sequence:24,subseq:[0,2],subsequenceinput:1,sudo:10,sumpool:14,support:9,sure:10,swig_paddl:27,system:14,tag:3,take:24,tanhactiv:1,tbd:[1,25],team:9,test:[1,13,23],test_data:27,test_list:[13,24],test_recurrentgradientmachin:1,text:[13,24],text_conv:13,them:13,thi:[13,24],thing:24,timestep:0,tmp:24,tour_train_wdseg:1,train:10,train_list:[13,24],trainer:[13,24,27],trainer_config:[13,23,24,27],trainer_config_help:[13,14,24],trainer_count:14,trainerintern:13,trainermain:10,travel:24,trn:13,tst:13,turn:2,two:13,txt:[13,24],type:[13,24],unk_idx:13,updat:9,use:[13,26],use_dynamic_ord:24,use_gpu:[13,14,27],usepam:9,user:13,usr:[4,9,10],valid:10,valu:[1,13,24,27],version:[9,10],via:10,want:24,what:13,when:24,which:13,whole:24,wilder:24,window:9,with_avx:[4,10,22],with_doc:4,with_doc_cn:4,with_doubl:[10,22],with_double:4,with_dso:4,with_gflag:[10,22],with_gflags:4,with_glog:[4,10,22],with_gpu:[3,4,10,22],with_metric_learn:[10,22],with_predict_sdk:[10,22],with_python:[4,10,22],with_rdma:[4,10,22],with_style_check:4,with_swig_py:4,with_testing:4,with_tim:[10,22],with_timer:4,without:9,wonder:24,word2vec:14,word:[1,2,12],word_dict:[1,13],word_dim:[1,13],word_id:[14,24],word_slot:1,word_slot_list:1,word_vector:13,xarg:9,yield:[1,13,14,24],you:[10,24],your_host_machine:9,your_param_name:14},titles:["\u652f\u6301\u53cc\u5c42\u5e8f\u5217\u4f5c\u4e3a\u8f93\u5165\u7684Layer","\u53cc\u5c42RNN\u914d\u7f6e\u4e0e\u793a\u4f8b","Recurrent Group\u6559\u7a0b","\u6784\u5efaPaddlePaddle Docker Image","\u8bbe\u7f6ePaddlePaddle\u7684\u7f16\u8bd1\u9009\u9879","\u4f7f\u7528cmake\u7f16\u8bd1PaddlePaddle","\u5b89\u88c5\u7f16\u8bd1PaddlePaddle\u9700\u8981\u7684\u4f9d\u8d56","make\u548cmake install","\u7f16\u8bd1\u4e0e\u5b89\u88c5","\u5b89\u88c5PaddlePaddle\u7684Docker\u955c\u50cf","\u4f7f\u7528deb\u5305\u5728Ubuntu\u4e0a\u5b89\u88c5PaddlePaddle","\u96c6\u7fa4\u8bad\u7ec3","\u4f7f\u7528\u793a\u4f8b","PaddlePaddle\u5feb\u901f\u5165\u95e8\u6559\u7a0b","PaddlePaddle\u5e38\u89c1\u95ee\u9898","PaddlePaddle\u6587\u6863","<no title>","\u547d\u4ee4\u884c\u53c2\u6570","<no title>","<no title>","paddle pserver\u7684\u547d\u4ee4\u884c\u53c2\u6570","paddle train\u7684\u547d\u4ee4\u884c\u53c2\u6570","paddle version\u7684\u547d\u4ee4\u884c\u53c2\u6570","PaddlePaddle\u7684\u6570\u636e\u63d0\u4f9b(DataProvider)\u4ecb\u7ecd","PyDataProvider2\u7684\u4f7f\u7528","\u81ea\u5b9a\u4e49\u4e00\u4e2aDataProvider","\u7528\u6237\u63a5\u53e3","PaddlePaddle\u7684Python\u9884\u6d4b\u63a5\u53e3"],titleterms:{"\u4e0b\u8f7d\u548c\u8fd0\u884cdocker\u955c\u50cf":9,"\u4ecb\u7ecd":23,"\u4f18\u5316\u7b97\u6cd5":13,"\u4f7f\u7528\u6307\u5357":15,"\u4f7f\u7528\u6982\u8ff0":13,"\u4f7f\u7528\u793a\u4f8b":12,"\u4f7f\u7528\u811a\u672c\u6784\u5efapaddlepaddl":3,"\u4f7f\u7528cmake\u7f16\u8bd1paddlepaddl":5,"\u4f7f\u7528deb\u5305\u5728ubuntu\u4e0a\u5b89\u88c5paddlepaddl":10,"\u5185\u5b58\u4e0d\u591f\u7528\u7684\u60c5\u51b5":24,"\u51cf\u5c11\u6570\u636e\u8f7d\u5165\u7684\u8017\u65f6":14,"\u51cf\u5c11dataprovider\u7f13\u51b2\u6c60\u5185\u5b58":14,"\u5229\u7528\u66f4\u591a\u7684\u8ba1\u7b97\u8d44\u6e90":14,"\u52a0\u901f\u8bad\u7ec3\u901f\u5ea6":14,"\u5377\u79ef\u6a21\u578b":13,"\u53c2\u6570\u5185\u5b58":14,"\u53c2\u8003":24,"\u53cc\u5c42rnn\u4ecb\u7ecd":2,"\u53cc\u5c42rnn\u7684\u4f7f\u7528":2,"\u53cc\u5c42rnn\u914d\u7f6e\u4e0e\u793a\u4f8b":1,"\u53cc\u8fdb\u53cc\u51fa":1,"\u53ef\u80fd\u7684\u5185\u5b58\u6cc4\u9732\u95ee\u9898":24,"\u53ef\u80fd\u9047\u5230\u7684\u95ee\u9898":10,"\u547d\u4ee4\u884c\u53c2\u6570":[13,17,26],"\u548c":0,"\u56fe\u50cf":12,"\u57fa\u672c\u539f\u7406":2,"\u5982\u4f55\u5171\u4eab\u53c2\u6570":14,"\u5982\u4f55\u51cf\u5c11paddlepaddle\u7684\u5185\u5b58\u5360\u7528":14,"\u5982\u4f55\u521d\u59cb\u5316\u53c2\u6570":14,"\u5982\u4f55\u52a0\u901fpaddlepaddle\u7684\u8bad\u7ec3\u901f\u5ea6":14,"\u5982\u4f55\u9009\u62e9sgd\u7b97\u6cd5\u7684\u5b66\u4e60\u7387":14,"\u5b89\u88c5":[8,13],"\u5b89\u88c5\u7f16\u8bd1paddlepaddle\u9700\u8981\u7684\u4f9d\u8d56":6,"\u5b89\u88c5paddlepaddle\u7684docker\u955c\u50cf":9,"\u5e38\u7528\u6a21\u578b":12,"\u5e38\u89c1\u95ee\u9898":15,"\u5e8f\u5217\u6a21\u578b\u6570\u636e\u63d0\u4f9b":24,"\u5f00\u53d1\u6307\u5357":15,"\u6027\u80fd\u95ee\u9898":9,"\u603b\u4f53\u6548\u679c\u603b\u7ed3":13,"\u6216\u8005\u662f":14,"\u63a8\u8350":12,"\u652f\u6301\u53cc\u5c42\u5e8f\u5217\u4f5c\u4e3a\u8f93\u5165\u7684layer":0,"\u6570\u636e\u5411\u6a21\u578b\u4f20\u9001":13,"\u6570\u636e\u63d0\u4f9b":26,"\u6570\u636e\u683c\u5f0f\u51c6\u5907":13,"\u65f6\u5e8f\u6a21\u578b":13,"\u6784\u5efapaddlepaddl":3,"\u6982\u8ff0":[0,2],"\u6a21\u578b\u4e2d\u7684\u914d\u7f6e":1,"\u6ce8\u610f\u4e8b\u9879":[9,24],"\u751f\u6210\u6d41\u7a0b\u7684\u4f7f\u7528\u65b9\u6cd5":2,"\u7528\u6237\u63a5\u53e3":26,"\u76f8\u5173\u6982\u5ff5":2,"\u793a\u4f8b1":1,"\u793a\u4f8b2":1,"\u793a\u4f8b3":1,"\u793a\u4f8b4":1,"\u795e\u7ecf\u5143\u6fc0\u6d3b\u5185\u5b58":14,"\u7b80\u5355\u7684\u4f7f\u7528\u573a\u666f":24,"\u7b97\u6cd5\u6559\u7a0b":15,"\u7f16\u8bd1":8,"\u7f16\u8bd1\u4e0e\u5b89\u88c5":8,"\u7f51\u7edc\u7ed3\u6784":13,"\u81ea\u5b9a\u4e49\u4e00\u4e2adataprovid":25,"\u81ea\u7136\u8bed\u8a00\u5904\u7406":12,"\u8bad\u7ec3\u6a21\u578b":13,"\u8bad\u7ec3\u6d41\u7a0b\u7684\u4f7f\u7528\u65b9\u6cd5":2,"\u8bbe\u7f6epaddlepaddle\u7684\u7f16\u8bd1\u9009\u9879":4,"\u8bcd\u5411\u91cf\u6a21\u578b":13,"\u8bfb\u53d6\u53cc\u5c42\u5e8f\u5217\u7684\u65b9\u6cd5":1,"\u8f93\u5165":2,"\u8f93\u5165\u4e0d\u7b49\u957f":1,"\u8f93\u5165\u793a\u4f8b":2,"\u8f93\u51fa":2,"\u8f93\u51fa\u65e5\u5fd7":13,"\u8fdc\u7a0b\u8bbf\u95ee\u95ee\u9898\u548c\u4e8c\u6b21\u5f00\u53d1":9,"\u903b\u8f91\u56de\u5f52\u6a21\u578b":13,"\u9047\u5230":14,"\u914d\u7f6e\u4e2d\u7684\u6570\u636e\u52a0\u8f7d\u5b9a\u4e49":13,"\u9644\u5f55":13,"\u96c6\u7fa4\u8bad\u7ec3":11,"\u975e\u6cd5\u6307\u4ee4":14,"\u9884\u6d4b":[13,26],"beam_search\u7684\u751f\u6210":1,"blas\u76f8\u5173\u7684\u7f16\u8bd1\u9009\u9879":4,"bool\u578b\u7684\u7f16\u8bd1\u9009\u9879":4,"config\u6587\u4ef6\u627e\u4e0d\u5230":10,"cudnn\u76f8\u5173\u7684\u7f16\u8bd1\u9009\u9879":4,"driver\u627e\u4e0d\u5230":10,"group\u6559\u7a0b":2,"make\u548cmak":7,"paddlepaddle\u5e38\u89c1\u95ee\u9898":14,"paddlepaddle\u5feb\u901f\u5165\u95e8\u6559\u7a0b":13,"paddlepaddle\u63d0\u4f9b\u7684docker\u955c\u50cf\u7248\u672c":9,"paddlepaddle\u6587\u6863":15,"paddlepaddle\u7684\u6570\u636e\u63d0\u4f9b":23,"paddlepaddle\u7684\u7f16\u8bd1\u9009\u9879":4,"paddlepaddle\u7684bool\u578b\u7f16\u8bd1\u9009\u9879":4,"paddlepaddle\u7684cblas\u7f16\u8bd1\u9009\u9879":4,"paddlepaddle\u7684python\u9884\u6d4b\u63a5\u53e3":27,"pserver\u7684\u547d\u4ee4\u884c\u53c2\u6570":20,"pydataprovider2\u7684\u4f7f\u7528":24,"python\u6570\u636e\u52a0\u8f7d\u811a\u672c":13,"so\u627e\u4e0d\u5230":10,"subseq\u95f4\u65e0memori":1,"subseq\u95f4\u6709memori":1,"train\u7684\u547d\u4ee4\u884c\u53c2\u6570":21,"version\u7684\u547d\u4ee4\u884c\u53c2\u6570":22,algorithm:13,appendix:13,architectur:13,argument:13,cach:24,command:13,configur:13,content:14,convolut:13,cuda:[4,10],data:13,dataprovid:23,docker:3,expand_lay:0,first_seq:0,illeg:14,image:3,init_hook:24,input_typ:24,instal:7,install:13,instruct:14,last_seq:0,libcudart:10,libcudnn:10,line:13,log:13,logist:13,memori:2,model:13,network:13,optimiz:13,overview:13,paddl:[20,21,22],pooling_lay:0,predict:13,prepar:13,provid:[13,24],recurr:2,refer:24,regress:13,script:13,sequenc:13,summari:13,time:13,train:13,transfer:13,vector:13,word:13}}) \ No newline at end of file -- GitLab
    -
    -void hl_sequence2batch_copy(real *batch, real *sequence, int *batchIndex, int seqWidth, int batchCount, bool seq2batch)
    +
    +void hl_sequence2batch_copy(real *batch, real *sequence, const int *batchIndex, int seqWidth, int batchCount, bool seq2batch)

    Memory copy from sequence to batch.

    if seq2batch == true

    copy from sequence to batch: batch[i] = sequence[batchIndex[i]].

    diff --git a/doc/source/gserver/layers/layer.html b/doc/source/gserver/layers/layer.html index c077aeddd2..31a6707bd4 100644 --- a/doc/source/gserver/layers/layer.html +++ b/doc/source/gserver/layers/layer.html @@ -4623,14 +4623,9 @@ The config file api if gru_step_layer.

    Protected Attributes

    -
    -
    -IVectorPtr cpuInputStartPos_
    -
    -
    -IVectorPtr inputStartPos_
    +ICpuGpuVectorPtr inputStartPos_
    @@ -5747,16 +5742,10 @@ sequence is one) to sequence data.”

    store the ExpandLevel

    -
    -
    -IVectorPtr cpuExpandStartsPos_
    -

    expanded sequenceStartPositions or subSequenceStartPositions of input[1]

    -
    -
    -IVectorPtr expandStartsPos_
    -

    point to cpuExpandStartsPos_ when useGpu_ is false, copy from cpuExpandStartsPos_ when useGpu_ is true

    +ICpuGpuVectorPtr expandStartsPos_ +

    expanded sequenceStartPositions or subSequenceStartPositions of input[1]

    diff --git a/doc/source/math/matrix/matrix.html b/doc/source/math/matrix/matrix.html index 374a333e7d..148e6e1c82 100644 --- a/doc/source/math/matrix/matrix.html +++ b/doc/source/math/matrix/matrix.html @@ -1756,8 +1756,8 @@ virtual -
    -virtual void copyByRowIndex(Matrix &b, IVector &rowIndex)
    +
    +virtual void copyByRowIndex(Matrix &b, const IVector &rowIndex)