Ошибка атрибута: объект ‘tensorflow.python.framework.ops.EagerTensor’ не имеет атрибута ‘ravel’

#python #tensorflow

#python #tensorflow

Вопрос:

При запуске программы я получил следующую ошибку. Я прикрепил свою ошибку и программу следующим образом. Что не так с моей программой?

 import random
index=random.randint(0,len(X_test)-1)
samples = X_test[index].ravel()
print("Audio:",classes[np.argmax(y_test[index])])
ipd.Audio(samples, rate=16000)
  

Есть идеи, что пошло не так?

Комментарии:

1. является X_test массивом numpy?

2. Пожалуйста, исправьте форматирование и добавьте код для X_test

Ответ №1:

Вам необходимо включить numpy поведение для EagerTensor объектов. Используйте следующий фрагмент:

 from tensorflow.python.ops.numpy_ops import np_config
np_config.enable_numpy_behavior()
  

Ответ №2:

ravel() является функцией numpy и может работать только с объектами numpy. Вы можете решить эту проблему, преобразовав X_test в тип данных numpy, например, если X_test является тензорным, тогда X_test.numpy() вернет вам объект numpy.