在针对我自己的数据集执行培训时会出现此问题,该数据集通过data_convert_example.py转换为二进制文件。经过一周的培训后,我得到的解码结果在比较解码和参考文件时没有意义。
如果有人取得了成功并获得了类似于使用他们自己的数据在Textsum自述文件中发布的结果,我很想知道什么对你有用...环境,建设,文章数量。
我目前没有0.11的运气,但是已经获得了0.9的一些结果,但是解码结果与下面显示的相似,我不知道它们来自哪里。
我目前正在运行Ubuntu 16.04,TF 0.9,CUDA 7.5和CuDnn 4.我尝试了TF 0.11,但正在处理其他问题,所以我回到了0.9。似乎解码结果是从有效文章生成的,但参考文件和解码文件指示没有相关性。
如果有人可以提供任何帮助或指示,我们将不胜感激。否则,我应该知道什么,我会在这里发布。
一些最后的问题。关于引用的词汇文件。它根本不需要按字频排序吗?在生成它的时候,我从来没有沿着这些方向执行任何操作,并且不确定是否会抛出一些东西。
最后,我假设在生成数据时应将训练数据文章分解为更小的批次。我将文章分成多个文件,每个文件包含100篇文章。然后将它们命名为data-0,data-1等。我认为这是我的正确假设?我还将所有词汇保存在一个文件中,似乎没有任何错误。
以上假设是否也正确?
下面是一些参考和解码结果,你可以看到很奇怪,似乎没有相关性。
output=Wild Boy Goes About How I Can't Be Really Go For Love
output=State Department defends the campaign of Iran
output=John Deere sails profit - Business Insider
output=to roll for the Perseid meteor shower
output=Man in New York City in Germany
output=Battle Chasers: Nightwar Combines Joe Mad's Stellar Art With Solid RPG Gameplay
output=Obama Meets a Goal That Could Literally Destroy America
output=WOW! 10 stunning photos of presidents daughter Zahra Buhari
output=Koko the gorilla jams out on bass with Flea from Red Hot Chili Peppers
output=Brenham police officer refused service at McDonald's
答案 0 :(得分:0)
自己去回答这个问题。似乎这里的问题是缺乏培训数据。最后,我最终排序了我的词汇文件,但似乎没有必要。这样做的原因是允许最终用户根据需要将词汇词限制为200k字。
上述问题的最大原因仅仅是缺乏数据。当我在原帖中进行培训时,我正在处理40k +文章。我认为这已经足够了,但显然它不是,当我深入了解代码并更好地理解正在发生的事情时,这更加明显。最后我将文章数量增加到130多万,我在980GTX上训练了大约一个半星期,平均损失大约为1.6到2.2我看到了更好的结果。
当我走的时候,我正在学习这个,但我停止了上述平均损失,因为我执行的一些阅读表明,当你执行" eval"反对你的"测试"数据,您的平均损失应该接近您在培训中看到的。这有助于确定当它们相距很远时是否接近过度拟合。我正在学习这个问题,但是对我来说,这似乎是有道理的。
最后一点,我学到了很难的方法。确保升级到最新的0.11 Tensorflow版本。我最初使用0.9训练,但当我去弄清楚如何将模型导出为tensorflow时,我发现该repo中没有export.py文件。当我升级到0.11时,我发现检查点文件结构似乎在0.11中发生了变化,我需要再花2周的时间进行训练。所以我建议只升级,因为他们解决了我在RC期间遇到的一些问题。我仍然必须设置is_tuple = false,但除此之外,所有都很好。希望这有助于某人。