Керас не может печатать внутри встроенной функции - PullRequest
0 голосов
/ 27 августа 2018

Я хотел использовать печать некоторых данных внутри модели Keras Mobilenetv2, но кажется, что использование печати внутри нее не обнаруживается системой, и я вообще не получаю вывод.

Несмотря на то, что код, кажется, проходит через функцию, я не могу ничего напечатать из нее после вызова.Даже если я просто вставлю print("hello!") в начало тела функции, она не будет напечатана на консоли при запуске функции.

Может кто-нибудь подсказать мне возможные причины этого.

1 Ответ

0 голосов
/ 27 августа 2018

Зависит от того, какой бэкэнд вы используете.Но большинство бэкэндов, таких как тензор потока, используют двухэтапный подход:

  1. Построить свой график выполнения
  2. Запустить его

В Python выполняется только первое.Таким образом, ваш код Python выполняется только один раз при построении вашего графика.Так как функция печати python не связана с тензором, бэкэнд выполнит ее во время компиляции, но проигнорирует ее для пути выполнения.

Если вы хотите использовать печать во время выполнения, для этого есть специальные бэкэнд-функции.Если у вас есть бэкэнд тензорного потока, вы можете использовать tf.print .

...