web-dev-qa-db-ja.com

Tensorflow 2.0でK.get_sessionを使用する方法またはそれを移行する方法

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()

ランタイムエラー: get_sessionは、TensorFlow 2.0を使用している場合は使用できません。

6
bylukas

おそらくデフォルトで有効になっているtf 2.0の熱心な実行と関係があります。 tensorflowをtfとしてインポートしてみてください

tf.compat.v1.disable_eager_execution()

1
Miles High

Tensorflow 2.0のアップグレード後にget_sessionを使用しないようにするには、tf.distribute.Strategyを使用してモデルを取得します。モデルをロードするには、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

お役に立てれば。これは私のために働いたので。

私もこのユーティリティの記事で同じことを説明しようとしました。 https://www.javacodemonk.com/runtimeerror-get_session-is-not-available-when-using-tensorflow-2-0-f7238546

0
Upasana Mittal