ImportError:无法导入名称normalize_data_format

K V*_*ran 4 python github importerror keras tensorflow

我是使用github的新手。我已经在ubuntu 16.04中安装了github,我安装了python 2.7.12,tensorflow 1.9和keras。我想在keras RNN中使用自己的自定义激活和优化器。我在网上搜索后才知道我需要安装keras-contrib软件包才能使用高级激活和自定义激活功能。

因此,我从github安装了keras-contrib。但是我不知道如何使用它以及如何使用keras-contrib运行程序。

但是我尝试了以下命令

 git clone https://www.github.com/keras-team/keras-contrib.git
 cd keras-contrib
 python setup.py install
Run Code Online (Sandbox Code Playgroud)

然后我尝试了以下代码

 from keras.models import Sequential
 from keras.layers import Dense
 import numpy as np
 from keras_contrib.layers.advanced_activations import PELU
Run Code Online (Sandbox Code Playgroud)

它显示以下错误

 Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
   File "keras_contrib/__init__.py", line 4, in <module>
    from . import layers
   File "keras_contrib/layers/__init__.py", line 3, in <module>
    from .convolutional import *
   File "keras_contrib/layers/convolutional.py", line 15, in <module>
    from keras.utils.conv_utils import normalize_data_format
  ImportError: cannot import name normalize_data_format
Run Code Online (Sandbox Code Playgroud)

任何人都请检查此错误,并帮助我解决该错误。

小智 5

我更新了Linux上安装的keras贡献源代码。遵循更改:

https://github.com/ekholabs/keras-contrib/commit/0dac2da8a19f34946448121c6b9c8535bfb22ce2

现在,它运作良好。


Upa*_*tal 0

一定是因为您下载的keras_contrib与更新版本的keras不兼容。检查此链接https://github.com/keras-team/keras/blob/master/keras/utils/conv_utils.py

这里没有像 normalise_data_format 这样的函数,这就是它抛出错误的地方。