отключить выполнение Tensorflow - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь изучать TF и ​​работаю с заполнителями.Когда я попытался создать заполнитель, я получил сообщение об ошибке: RuntimeError: tf.placeholder() is not compatible with eager execution, что имеет смысл, поскольку заполнители не исполняются сразу.

Моя проблема в том, чтобы найти способ отключить нетерпеливое исполнение?

Я никогда прежде не включал готовое исполнение, поэтому не уверен, как это произошло.Есть ли противоположность tf.disable_eager_execution()?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 01 мая 2019

Я предполагаю, что вы используете TensorFlow 2.0.В TF2 режим ожидания включен по умолчанию.Однако в TensorFlow 2.0.0-alpha0 есть disable_eager_execution(), но он скрыт довольно глубоко и не может быть напрямую доступен из пространства имен модуля верхнего уровня (т. Е. Пространства имен tf).

Вы можете вызвать функцию какитак:

import tensorflow as tf
from tensorflow.python.framework.ops import disable_eager_execution

disable_eager_execution()

a = tf.constant(1)
b = tf.constant(2)
c = a + b
print(c)

>>>Tensor("add:0", shape=(), dtype=int32)

print(disable_eager_execution.__doc__) 

>>>Disables eager execution. This function can only be called before any Graphs, Ops, or Tensors have been created. It can be used at the beginning of the program for complex migration projects from TensorFlow 1.x to 2.x.

0 голосов
/ 08 января 2019

Предположим, вы используете предварительную версию Tensorflow 2.0, в которой по умолчанию включено активное выполнение.Существует API-интерфейс disable_eager_execution() в v1, который вы можете поместить перед вашим кодом, например:

import tensorflow as tf

tf.compat.v1.disable_eager_execution()

С другой стороны, если вы не используете 2.0 preview ,пожалуйста, проверьте, не включили ли вы случайно выполнение где-либо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...