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