tensorflow与keras之间版本问题引起get_session问题解决办法
1.产生报错原因import tensorflow.keras.backend as Kdef __init__(self, **kwargs):self.__dict__.update(self._defaults) # set up default valuesself.__dict__.update(kwargs) # and update with user overridesself.c
·
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
更多推荐


所有评论(0)