有没有办法在Transformer.body(..)中使用eval()二进制文件?

时间:2019-07-02 15:39:17

标签: python tensorflow transformer tensor2tensor

我正在尝试让tensor2tensor的{​​{1}}转换器分析二进制文件中包装的一些额外信息,并且我需要从Transformer.body(self, features)内部的张量中获取值。我该如何实现?

这是为我的实验而设计的,我需要获取Transformer.body(自身,功能)以读取在“功能”中传递的ASCII张量,将其转换为字符串,然后使用该字符串来检索文件中的内容系统。在这种情况下,每个输入/目标张量应与一个字符串配对(即ASCII码的一维张量)

我认为这可行的唯一方法是对相关特征的张量进行body()。我已经尝试在eval()范围内执行此操作,但是它不起作用,提示我:

FailedPreconditionError(请参阅上面的回溯):tf.Session()失败,因为迭代器尚未初始化。在获取下一个元素之前,请确保已为迭代器运行了初始化程序操作。

我已经在做GetNext(),所以我认为要正确进行初始化,我需要访问sess.run(tf.gloal_variables_initializer())范围之外的某些迭代器并将其初始化,但我还没有弄清楚如何

让整个事情变得棘手的是,body()似乎并没有急切地执行。即使我将body()明确地放在tensor2tensor / bin / t2t_trainer.py中,当我在tf.enable_eager_execution()中运行tf.executing_eagerly时,我也会得到False。

我正在使用的T2T是1.13.4。

0 个答案:

没有答案