解决tensorflow报错:AttributeError: module ‘tensorflow.keras.backend‘ has no attribute ‘get_session‘ 问题

时间:2024-03-28 15:16:34
欢迎大家关注笔者,你的关注是我持续更博的最大动力


原创文章,转载告知,盗版必究


解决tensorflow报错:AttributeError: module 'tensorflow.keras.backend' has no attribute 'get_session' 问题

文章目录:


先说明以下我自己的环境:

  • Ubuntu18.04
  • tensorflow-gpu2.2.0

1 错误原因分析

我是在代码中调用了sess = tf.keras.backend.get_session()报的这个错误
解决tensorflow报错:AttributeError: module ‘tensorflow.keras.backend‘ has no attribute ‘get_session‘ 问题

导致这错误的原因是由于tensorflow版本的问题,在tensorflow2.x中已经弃用该函数,如果你改为tensorflow.1版本应该就可以跳过这个错误。但是,我本意并不想改变tensorflow的版本,而且还要使用这个函数,应该怎么办呢,请继续看下文!!!

2 错误解决方式

这错误是可以解决的,在tensorflow2.x中有个API就是为了兼容(compat) 某些tensorflow1.x版本和某些tensorflow2.x版本,该API就是:

tf.compat.v1tf.compat.v2
解决tensorflow报错:AttributeError: module ‘tensorflow.keras.backend‘ has no attribute ‘get_session‘ 问题

  • tf.compat.v1:是为了兼容tensorflow1.x中的某些API
  • tf.compat.v2:是为了兼容tensorflow2.x中的某些API

因此只要把:

sess = tf.keras.backend.get_session()

改为如下即可:

sess = tf.compat.v1.keras.backend.get_session


解决tensorflow报错:AttributeError: module ‘tensorflow.keras.backend‘ has no attribute ‘get_session‘ 问题


解决tensorflow报错:AttributeError: module ‘tensorflow.keras.backend‘ has no attribute ‘get_session‘ 问题

解决tensorflow报错:AttributeError: module ‘tensorflow.keras.backend‘ has no attribute ‘get_session‘ 问题

解决tensorflow报错:AttributeError: module ‘tensorflow.keras.backend‘ has no attribute ‘get_session‘ 问题
♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠