web-dev-qa-db-fra.com

Comment utiliser K.get_session dans Tensorflow 2.0 ou comment le migrer?

def __init__(self, **kwargs):
    self.__dict__.update(self._defaults) # set up default values
    self.__dict__.update(kwargs) # and update with user overrides
    self.class_names = self._get_class()
    self.anchors = self._get_anchors()
    self.sess = K.get_session()

Erreur d'exécution: get_session n'est pas disponible lors de l'utilisation de TensorFlow 2.0.

6
bylukas

Cela a probablement quelque chose à voir avec l'exécution désirée de tf 2.0 qui est activée par défaut. Essayez d'importer tensorflow en tant que tf

tf.compat.v1.disable_eager_execution ()

1
Miles High

Afin d'éviter d'utiliser get_session après la mise à niveau de tensorflow 2.0, utilisez tf.distribute.Strategy pour obtenir le modèle. Pour charger le modèle, utilisez tf.keras.models.load_model

import tensorflow as tf

another_strategy = tf.distribute.MirroredStrategy()
with another_strategy.scope():
    model = Service.load_deep_model()

def load_deep_model(self, model):
    loaded_model = tf.keras.models.load_model("model.h5")
    return loaded_model

J'espère que cela t'aides. Comme cela a fonctionné pour moi.

J'ai également essayé d'expliquer la même chose dans cet article utilitaire. https://www.javacodemonk.com/runtimeerror-get_session-is-not-available-when-using-tensorflow-2-0-f7238546

0
Upasana Mittal