使用Estimator API生成文本

时间:2018-07-11 04:17:40

标签: tensorflow lstm rnn tensorflow-estimator

由于tensorflow人们推荐,我一直在尝试开始过渡到Estimator API。但是,我想知道如何使用估算器框架有效地完成一些基本工作。在周末期间,我尝试创建用于文本生成的基于GRU的模型,并按照tensorflow示例构建自定义估算器。我已经能够创建一个模型,该模型可以相对轻松地进行训练,并且其结果与非估算器版本匹配。但是对于采样(生成文本),我遇到了一些麻烦。我终于使它工作了,但是它非常慢,因为每次预测一个字符时,估计器框架都会加载整个图,这会使整个过程变慢。有没有一种方法可以使每次或任何其他解决方案都不加载图形? 第二个问题:我还必须使用state_is_tuple = False,因为我必须在模型方法和生成器方法之间来回发送GRU的状态,而我不能发送元组。有人知道该如何处理吗? 谢谢 附言这是我的代码示例的链接:https://github.com/amirharati/sample_estimator_charlm/blob/master/RnnLm.py

1 个答案:

答案 0 :(得分:0)

我终于有时间尝试xdurch0的建议,如果有人遇到相同的问题,这是代码: https://github.com/amirharati/sample_estimator_charlm/blob/master/RnnLmS2S.py  简而言之,它是可行的,但是在我看来,相对于简单的RNN实现,收敛需要更多时间(例如,字符模型倾向于生成重复模式,学习起来更困难,但是模型对于单词模型更有效)