谷歌今年为seq2seq制作了5个不同的软件包:
哪个包实际上值得用于实现?似乎它们都是不同的方法,但它们都不够稳定.
我一直很头疼一个问题,该选择哪个框架?我想使用编码器-解码器来实现 OCR 并注意。我一直在尝试使用它来实现它legacy_seq2seq(当时它是主库),但是很难理解所有的过程,当然它不应该再使用了。
https://github.com/google/seq2seq:对我来说,这看起来像是尝试制作一个命令行训练脚本而不编写自己的代码。如果你想学习翻译模型,这应该可以,但在其他情况下可能不行(比如我的 OCR),因为没有足够的文档和用户数量太少
https://github.com/tensorflow/tensor2tensor:这与上面的实现非常相似,但它得到了维护,您可以为 ex 添加更多自己的代码。读取自己的数据集。基本用法还是翻译。但它也可以实现像图像标题这样的任务,这很好。因此,如果您想尝试准备使用库并且您的问题是 txt->txt 或 image->txt 那么您可以尝试此操作。它也应该适用于 OCR。我只是不确定每种情况都有足够的文档(比如在特征提取器中使用 CNN)
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/seq2seq:除了上面之外,这只是纯库,当您想使用 TF 自己创建 seq2seq 时,它会很有用。它具有添加注意力、序列丢失等功能。就我而言,我选择了该选项,因为这样我就可以更自由地选择框架的每个步骤。我可以选择 CNN 架构、RNN 单元类型、Bi 或 Uni RNN、解码器类型等。但是您将需要花一些时间来熟悉其背后的所有想法。
tf.contrib.seq2seq库的翻译框架从我的角度来看,你有两个选择:
tensor2tensor库。它应该可以帮助您获得早期结果,甚至非常好的最终模型。tf.contrib.seq2seq.| 归档时间: |
|
| 查看次数: |
410 次 |
| 最近记录: |