1.产生报错原因

import tensorflow.keras.backend as K
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 is not available when using TensorFlow 2.0.

意思是 tf2.0 没有 get_session

2.解决方案1

import tensorflow.python.keras.backend as K
sess = K.get_session()

3. 解决方案2

import tensorflow as tf
sess = tf.compat.v1.keras.backend.get_session()

之前一直采用方案1 解决,感觉比较方便;但是解决方案1 有其它属性会丢失问题(比如AttributeError: module ‘keras.backend’ has no attribute image_dim_ordering),所以建议大家采用方案2

参考资料:https://stackoverflow.com/questions/58255821/how-to-use-k-get-session-in-tensorflow-2-0-or-how-to-migrate-it

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐