gpt4 book ai didi

tensorflow - tensorflow 中 RNN 和 Seq2Seq 模型的 API 引用

转载 作者:行者123 更新时间:2023-12-04 23:17:12 25 4
gpt4 key购买 nike

在哪里可以找到指定 RNN 和 Seq2Seq 模型中可用函数的 API 引用。

在 github 页面中提到 rnn 和 seq2seq 已移至 tf.nn

最佳答案

[注意:此答案已针对 r1.0 更新......但解释了 legacy_seq2seq 而不是 tensorflow/tensorflow/contrib/seq2seq/ ]

好消息是 tensorflow 中提供的 seq2seq 模型非常复杂,包括嵌入、桶、注意力机制、一对多多任务模型等。

坏消息是 Python 代码中有很多复杂性和抽象层,而且代码本身是高级 RNN 和 seq2seq “API”的最佳可用“文档”,据我所知......谢天谢地,代码是很好的文档字符串。

实际上,我认为下面指向的示例和辅助函数主要用于引用以了解编码模式……并且在大多数情况下,您需要使用较低级别 Python API 中的基本函数重新实现您需要的功能

以下是自 r1.0 版起自上而下的 RNN seq2seq 代码分割:

models/tutorials/rnn/translate/translate.py

...提供 main()train()decode() 开箱即用,可将英语翻译成法语...但您可以将此代码调整为其他数据集

models/tutorials/rnn/translate/seq2seq_model.py

... class Seq2SeqModel() 使用嵌入、桶、注意力机制设置复杂的 RNN 编码器-解码器...如果您不需要嵌入、桶或注意力,则需要实现类似的类。

tensorflow/tensorflow/contrib/legacy_seq2seq/python/ops/seq2seq.py

...通过辅助函数进入 seq2seq 模型的主要入口点。参见 model_with_buckets()embedding_attention_seq2seq()embedding_attention_decoder()attention_decoder()sequence_loss() 等。
示例包括 one2many_rnn_seq2seq 和没有嵌入/注意的模型也提供了像 basic_rnn_seq2seq 。如果您可以将数据塞入这些函数将接受的张量中,那么这可能是您构建自己的模型的最佳切入点。

tensorflow/tensorflow/contrib/rnn/python/ops/core_rnn.py

...为像 static_rnn() 这样的 RNN 网络提供了一个包装器,带有一些我通常不需要的铃声和口哨声,所以我只使用这样的代码:

def simple_rnn(cell, inputs, dtype, score):
with variable_scope.variable_scope(scope or "simple_RNN") as varscope1:
if varscope1.caching_device is None:
varscope1.set_caching_device(lambda op: op.device)

batch_size = array_ops.shape(inputs[0])[0]
outputs = []
state = cell.zero_state(batch_size, dtype)

for time, input_t in enumerate(inputs):
if time > 0:
variable_scope.get_variable_scope().reuse_variables()


(output, state) = cell(input_t, state)

outputs.append(output)

return outputs, state

关于tensorflow - tensorflow 中 RNN 和 Seq2Seq 模型的 API 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37159372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com