Проблема с переносом кода из TensorFlow 1.x в Tensorflow 2.x с использованием класса модели Keras

#python-3.x #keras #tensorflow2.x

#python-3.x #keras #tensorflow2.x

Вопрос:

У меня есть код, работающий с «пользовательской» моделью, которая, похоже, была создана с использованием «нетерпеливого режима». Когда я пытаюсь запустить функцию model.predict(), я получил следующую ошибку

Файл «/home/jptalledo/.local/lib/python3.6/site-packages/tensorflow/python/keras/utils/version_utils.py «, строка 122, в disallow_legacy_graph вызывает ошибку ValueError(error_msg) Ошибка ValueError: вызов Model.predict в режиме графика не поддерживается, когда Model экземпляр был создан с включенным режимом ожидания. Пожалуйста, создайте свой Model экземпляр в графическом режиме или вызовите Model.predict с включенным режимом ожидания.

Код Python выглядит следующим образом:

   def nn_predict(self, img):
        """Run model prediction to classify image as EV and return its probability"""
        
        img = cv2.resize(cv2.cvtColor(img, cv2.COLOR_BGR2RGB), self.target_image_size).astype(np.float32) / 255.0
        img = np.expand_dims(img, axis=0)
    
        with self.tf_graph.as_default():
            predictions = self.nn_model.predict(img)
        return predictions
  

Где находится проблема: predictions = self.nn_model.predict(img)

Любой совет, как включить режим ожидания?

Спасибо

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

1. Смогли ли вы решить эту проблему? У меня сейчас аналогичная проблема.

2. ДА. Мне нужно откатить библиотеку CUDA.

3. Можете ли вы уточнить, что вы подразумеваете под этим ответом? Поскольку у меня очень похожая проблема (может быть, вы можете проверить мой последний вопрос?)