问题:
以下伪代码在keras 2.2.4使用正常,但在keras2.3.1时出现错误:
AttributeError: module 'keras.backend' has no attribute 'tf'
代码:
import tensorflow as tf
import keras
tf_backend = keras.backend.tf
model = keras.models.model_from_json(json_str, custom_objects={'swish':swish, 'backend':keras.backend, 'tf':tf_backend})
解决:
出错的原因是在keras 2.3.1中已经没有 keras.backend.tf方法了,此时可以直接使用tf代替keras.backend.tf,以上代码可以更新为:
import tensorflow as tf
import keras
if keras.__version__ == "2.2.4":
tf_backend = keras.backend.tf
else:
tf_backend = tf
model = keras.models.model_from_json(json_str, custom_objects={'swish':swish, 'backend':keras.backend, 'tf':tf_backend})