Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
tensorflow中RNN和Seq2Seq模型的API参考_Tensorflow_Recurrent Neural Network - Fatal编程技术网

tensorflow中RNN和Seq2Seq模型的API参考

tensorflow中RNN和Seq2Seq模型的API参考,tensorflow,recurrent-neural-network,Tensorflow,Recurrent Neural Network,在哪里可以找到指定RNN和Seq2Seq模型中可用函数的API引用 在github页面中,提到rnn和seq2seq被移动到了tf.nn,到目前为止,我在他们的站点上也找不到关于rnn函数的API参考 但是,我相信您可以在github上看到每个函数的注释作为函数参考 [注:此答案针对r1.0进行了更新…但解释了传统的_seq2seq而不是tensorflow/tensorflow/contrib/seq2seq/] 好消息是tensorflow中提供的seq2seq模型非常复杂,包括嵌入、bu

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


在github页面中,提到rnn和seq2seq被移动到了tf.nn,到目前为止,我在他们的站点上也找不到关于rnn函数的API参考

但是,我相信您可以在github上看到每个函数的注释作为函数参考


[注:此答案针对r1.0进行了更新…但解释了
传统的_seq2seq
而不是
tensorflow/tensorflow/contrib/seq2seq/
]

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

坏消息是,Python代码中有很多复杂的抽象层,而代码本身就是我所能说的高级RNN和seq2seq“API”的最佳可用“文档”…谢天谢地,代码是很好的文档化的

实际上,我认为下面提到的示例和帮助函数对于理解编码模式非常有用……而且在大多数情况下,您需要在较低级别上使用基本函数重新实现所需的功能

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

…提供了可将英语翻译成法语的
main()
train()
decode()
,但您可以将此代码改编为其他数据集

class Seq2SeqModel()
设置了一个复杂的RNN编码器-解码器,带有嵌入、存储桶、注意机制……如果您不需要嵌入、存储桶或注意,则需要实现一个类似的类

…通过辅助函数,seq2seq模型的主要入口点。请参见
带桶的模型()
嵌入注意事项的seq2seq()
嵌入注意事项的解码器()
注意事项的解码器()
序列丢失()
,等等。 示例包括
one2many\u rnn\u seq2seq
和未嵌入/注意的模型,如
basic\u rnn\u seq2seq
。如果你能把数据塞进张量中,这些函数会接受,这可能是你建立自己模型的最佳切入点

…为RNN网络(如
static\u 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当前/主版本的RNN文档:

TensorFlow特定版本的RNN文档:

出于好奇,以下是一些关于RNN文档最初不可用的注释:

你使用Python还是C++ API?