ImportError: невозможно импортировать имя normalize_data_format

Я очень новичок в использовании github. Я установил github в ubuntu 16.04, я установил python 2.7.12, tensorflow 1.9 и keras. Я хочу использовать свою собственную активацию и оптимизатор в keras RNN. Я поискал в Интернете и узнал, что мне нужно установить пакет keras-contrib, чтобы использовать расширенную активацию и пользовательскую функцию активации.

Итак, я устанавливаю keras-contrib с гитхаба. Но я не знаю, как с ним работать и как запустить программу с помощью keras-contrib.

Но я пробовал со следующими командами

 git clone https://www.github.com/keras-team/keras-contrib.git
 cd keras-contrib
 python setup.py install

то я попытался использовать следующий код

 from keras.models import Sequential
 from keras.layers import Dense
 import numpy as np
 from keras_contrib.layers.advanced_activations import PELU

он показывает следующую ошибку

 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

Кто-нибудь, пожалуйста, проверьте эту ошибку и помогите мне разобраться с этой ошибкой.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
5
0
12 032
7

Ответы 7

Это должно быть связано с тем, что загруженный вами keras_contrib несовместим с обновленной версией keras. Проверить эту ссылку https://github.com/keras-team/keras/blob/master/keras/utils/conv_utils.py

Здесь нет такой функции, как normalise_data_format, вот где она выдает ошибку.

Спасибо, мисс Упасана. Но как это побороть.

K Vijayaprabakaran 06.08.2018 07:20

Вы можете попробовать понизить версию пакета keras или отредактировать файл conv_utils.py. Для редактирования conv_utils.py загруженного пакета keras скопируйте функцию отсюда и вставьте github.com/keras-team/keras/blob/keras-2/keras/utils/…

Upasana Mittal 06.08.2018 07:27

столкнувшись с той же проблемой здесь, @KVijayaprabakaran удалось ли вам наконец решить проблему? Используя какой из этого ответа? Не могли бы вы сообщить нам об этом? Спасибо.

Haramoz 13.09.2018 21:05

Это должно быть связано с тем, что загруженный вами keras_contrib несовместим с обновленной версией keras. Проверить эту ссылку https://github.com/keras-team/keras/blob/master/keras/utils/conv_utils.py

Это не работает...

Об этой ошибке сообщается и исправляется здесь: https://github.com/keras-team/keras-contrib/issues/291

Я обновляю исходный код keras, установленный в моем Linux. Следите за изменениями:

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

Теперь это работает хорошо.

У меня такая же проблема. Я установил версию keras 2.2.2, используя следующую команду, и проблема была решена.

pip install -q keras==2.2.2

Обратитесь к этому PR.

https://github.com/keras-team/keras-contrib/pull/292

В моей системе Windows 10 и в Colaboratory, используя Python 3.7, я решил эту проблему, обновив Keras и установив git-версию keras-contrib.

pip install -q keras==2.2.2
pip install git+https://www.github.com/keras-team/keras-contrib.git

Проверьте свою версию Keras с помощью

import keras
print(keras.__version__)

Я пробовал ваше решение для той же среды, но оно не работает для меня

zeeshan nisar 23.11.2018 08:30

Была такая же проблема. Проблема в том, что функция normalize_data_format была перемещена в keras.backend.common из keras.utils.conv_utils в более поздних версиях keras. Ты можешь использовать

import keras

а затем в вашем коде используйте

keras.utils.conv_utils.normalize_data_format

Другие вопросы по теме