导入错误:无法导入名称“normalize_data_format”

zee*_*sar 1 python-3.x deep-learning conv-neural-network keras keras-layer

我读过一篇文章here,它非常好理解。鉴于其在GitHub 上的实现。当我尝试使用给定的代码自行训练时,它在此文件的第 117 行给出了一个导入错误, 如下所示。我正在使用谷歌 Colab 环境。对错误进行了一些搜索,我发现以下行与 keras version==2.2.2 兼容。我也安装了但没有解决错误。请帮我克服它。默认情况下,colab 中安装的 keras 版本是 2.2.4

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-47-f8ce7e15cf87> in <module>()
      9 from keras.layers.merge import Add
     10 from keras.utils import conv_utils
---> 11 from keras.utils.conv_utils import normalize_data_format
     12 
     13 from keras.layers.core import Dropout

ImportError: cannot import name 'normalize_data_format'

---------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

小智 5

https://github.com/keras-team/keras/blob/master/keras/utils/conv_utils.py

master 分支的 conv_utils 没有 normalize_data_format。其他一些分支确实有它,例如 tf-keras 分支。这是一个微不足道的功能,这里是它的实现:

import keras.backend as K
def normalize_data_format(value):
    if value is None:
        value = K.image_data_format()
    data_format = value.lower()
    if data_format not in {'channels_first', 'channels_last'}:
        raise ValueError('The `data_format` argument must be one of '
                         '"channels_first", "channels_last". Received: ' +
                         str(value))
    return data_format
Run Code Online (Sandbox Code Playgroud)