在使用Tensorflow v.1.0.1
和Keras 2.0
并运行此代码时:
from keras import backend as K
if K.image_data_format() == 'channels_first':
input_shape = (1, img_width, img_height)
我收到以下错误:
属性错误:模块"keras.backend"没有属性 "image_data_format">
我该如何解决这个问题?
这是因为image_data_format
是在 keras 2.0 中keras.backend.common
中定义的。
如果你有早期版本,你可以尝试在配置文件中检查dim_ordering的值(默认是张量流排序tf
对应于最后的通道(。
解决此问题的两种方法
解决方案 1(如果您使用的是 tensorflow.keras(
from tensorflow.keras import backend as K #instead of from keras import backend as K
解决方案 2(如果您直接使用 Keras(from keras import backend as K
将K.image_data_format()
替换为K.common.image_dim_ordering
在 keras 最新版本中,即 keras == 2.4.3,我使用以下代码解决了这个问题
from keras.backend import image_data_format