Я пытаюсь заставить tensor2tensor
преобразователь анализировать в Transformer.body(self, features)
некоторую дополнительную информацию, обернутую в двоичные файлы, и мне нужно получить значения из тензора внутри body()
. Как мне этого добиться?
Это для моего эксперимента, где мне нужно получить Transformer.body (self, features), чтобы прочитать тензор ASCII, переданных в «функциях», преобразовать его в строку, а затем использовать эту строку для извлечения чего-либо из файла система. В этом случае каждый входной / целевой тензор должен быть в паре с одной строкой (то есть 1D-тензором кодов ASCII)
Единственный способ, которым я вижу, что это может сработать, - это сделать eval()
для тензора рассматриваемых функций Я пытался сделать это в рамках tf.Session()
, но это не сработало, давая мне:
FailedPreconditionError (см. Выше для отслеживания): GetNext()
не удалось, так как итератор не был инициализирован. Убедитесь, что вы выполнили операцию инициализатора для итератора, прежде чем получить следующий элемент.
Я уже делаю sess.run(tf.gloal_variables_initializer())
, поэтому я думаю, что для правильной инициализации мне понадобится доступ к какому-либо итератору, выходящему за рамки body()
, и инициализировать его, что я не понял, как.
Еще более хитроумно то, что body()
не выглядит выполненным с нетерпением. Несмотря на то, что я явно положил tf.enable_eager_execution()
в tenor2tensor / bin / t2t_trainer.py, я получаю False, когда я запускаю tf.executing_eagerly
в body()
.
T2T, который я использую - 1.13.4.