Как исправить ошибку RuntimeError: get_session недоступен при использовании TensorFlow 2.0.
Я новичок в Python, и я пытаюсь запустить этот код. Но я продолжаю получать эту ошибку.
from imageai.Detection import ObjectDetection
import os
execution_path = os.getcwd()
detector = ObjectDetection()
detector.setModelTypeAsRetinaNet()
detector.setModelPath( os.path.join(execution_path , "resnet50_coco_best_v2.0.1.h5"))
detector.loadModel()
self.sess = tf.compat.v1.keras.backend.get_session()
detections = detector.detectObjectsFromImage(input_image=os.path.join(execution_path , "image.jpg"), output_image_path=os.path.join(execution_path , "imagenew.jpg"))
for eachObject in detections:
print(eachObject["name"] , " : " , eachObject["percentage_probability"] )
Я должен получить процентное значение для объектов на изображении, но вместо этого я получаю следующее:
Использование бэкэнда TensorFlow. Traceback (последний вызов последним): файл "Detection.py", строка 6, в файле Detection = ObjectDetection() "C:\Python36\lib\site-packages\imageai\Detection__init__. Py", строка 88, в init self.sess = K.get_session () Файл "C:\Python36\lib\site-packages\keras\backend\tensorflow_backend.py", строка 379, в get_session '
get_session
недоступен ' RuntimeError:get_session
недоступно при использовании TensorFlow 2.0.
5 ответов
Ответ: В TF 2.0 следует использоватьtf.compat.v1.Session()
вместо того tf.Session()
Используйте следующий код, чтобы избавиться от ошибки в Tensorflow2.0
:
import tensorflow as tf
tf.compat.v1.Session()
т.е. в приведенном выше коде замените эту строку self.sess = tf.compat.v1.keras.backend.get_session()
кода с
self.sess = tf.compat.v1.Session()
Ссылка:
'get_session' недоступен при использовании tensorflow 2.0. Он доступен в tenorflow 1.14.0
Просто напишите в командной строке
pip install tensorflow==1.14.0
Поскольку веб-сайт Tensorflow (https://www.tensorflow.org/guide/migrate) предлагает о миграции, вы можете импортировать тензорный поток следующим образом, чтобы сохранить совместимость, когда у вас установлен тензорный поток 2.0: импортируйте tensorflow.compat.v1 как tf
Похоже, у кого-то такая же проблема. они не отметили ответа.
Как исправить модуль tenorflow без атрибута get_default_session
Код там работал у меня после загрузки модели и тестового изображения.
вам может понадобиться библиотека cudnn https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html
Результат должен выглядеть так
Любой, у кого есть этот get_session. Это сработало для меня, и я хотел бы поделиться. Замените строку self.sess = K.get_session() на self.sess = tf.compat.v1.InteractiveSession().