AttributeError: объект «Tensor» не имеет ошибок атрибута «numpy», поскольку значение параметра run_eagerly установлено как False. Существует две версии модуля TensorFlow: Tensorflow 1. x и Tensorflow 2. x. В Tensorflow 1. x нам приходится устанавливать этот параметр вручную, но в Tensorflow 2.0 по умолчанию он равен True.
Решение 1: включите eager_execution (только для Tenorflow 1.x)
Если вы используете TensorFlow 1. x, нам нужно явно вызвать eager_execution.
|
1 2 |
tf.enable_eager_execution(config=None, device_policy=None, execution_mode=None) |
Решение 2: вызвать run_functions_eagerly(для Tensorflow 2.x)
Установите для функции tf.enable_eager_execution() значение True.
|
1 |
tf.config.run_functions_eagerly(run_eagerly) |
Решение 3
Еще одно решение для исправления ошибки AttributeError: объект «Tensor» не имеет атрибута «numpy», преобразуйте Tensor в массив NumPy, используя метод .numpy() объекта Tensor.
|
1 2 3 4 5 6 |
import tensorflow as tf tensor = tf.constant([[11, 21], [19, 46]]) array = tensor.numpy() print(array) |
Выход
|
1 |
[[11, 21], [19, 46]] |
В этом коде Python сначала мы импортировали библиотеку tensorflow и определили тензор с помощью метода tf.constant(). Чтобы преобразовать тензор в массив numpy, мы использовали функцию tensor.numpy(). Если вы запустите приведенный выше код, мы не получим ошибки AttributeError: ‘Tensor’ object has no attribute ‘numpy’, вместо этого он вернет этот вывод: '[[11, 21], [19, 46]]'.
