tensorflow buckets
tensorflow的编码原则是,先构建计算图,然后再去执行计算图(sess.run()).这就会导致一个问题,我们无法在运行的过程中动态的更改图的结构.我们能做的就是...,先构建出完整的图,然后可以去执行其子图. tensorflow中的bucket就是基于这么一种思想.
seq2seq简单介绍
在seq2seq场景中,输入和输出的sequence的长度往往是变长的.假设在....你可能会纠结为什么是至多,因为从编码的角度来讲,如果rnn 单元的个数少于100, 那么序列中的最后几个数据就不用去考虑, 想反,如果rnn的单元个数多,那么就会存在某些 rnn单元的输入没有进行初始话...,输入数据必须填充为最大长度
for j, bucket in enumerate(buckets):#对每个bucket创建一个模型
with variable_scope.variable_scope...在执行计算图阶段,tensorflow只会运算子图。假设我们有一个minibatch数据,与这批数据最相近的bucket的id是3,那么在训练的时候,我们只需要 最小化losses[3]就可以了。