AttributeError: у объекта 'Tensor' нет атрибута 'numpy' в пользовательской функции потерь (Tensorflow 2.1.0) - PullRequest
1 голос
/ 06 апреля 2020

Я хочу обучить модель с пользовательской функцией потерь, для этого мне нужно преобразовать тензор в массив numpy в методе ниже:

def median_loss_estimation(y_true, y_predicted):
    a = y_predicted.numpy()

, но у меня есть это ошибка:

AttributeError: 'Tensor' object has no attribute 'numpy'

Почему? Как я могу преобразовать тензор в массив numpy?

Ответы [ 2 ]

1 голос
/ 07 апреля 2020

Ответ: положить run_eagerly=True в model.compile!

1 голос
/ 06 апреля 2020

Вы делаете все правильно, только Tensorflow 2.1 в настоящее время не работает в этом аспекте. Это обычно происходит, если вы запускаете код без активного режима. Однако Tensorflow 2 по умолчанию работает в активном режиме ... или, по крайней мере, так должно быть. Эта проблема отслеживается здесь .

Для этого существует как минимум два решения:

  1. Установка последней ночной сборки.
  2. Установить model.run_eagerly = True.
...