Я не могу импортировать реснет из модуля keras.applications

Я не могу импортировать этот модуль

import keras.applications.resnet

ModuleNotFoundError
в () ----> 1 import keras.applications.resnet

ModuleNotFoundError: No module named 'keras.applications.resnet'


keras resnet ссылка


person Aayush Bajaj    schedule 14.02.2019    source источник


Ответы (5)


Команда Keras не включила resnet, resnet_v2 и resnext в текущий модуль, они будут добавлены из Keras 2.2.5, как уже упоминалось здесь.

В качестве обходного пути вы можете напрямую использовать модуль keras_applications для импорта всех моделей ResNet, ResNetV2 и ResNeXt, как показано ниже.

from keras_applications.resnet import ResNet50

Или если вы просто хотите использовать ResNet50

from keras.applications.resnet50 import ResNet50

Кроме того, вы всегда можете выполнить сборку из исходного кода, как указано здесь.

person suvigyavijay    schedule 17.02.2019
comment
@SuvigyaVijay Я пробую ваш метод, но, похоже, я возвращаю функцию NoneType? mport keras_applications.resnet_v2 as resenet2 return resenet2.ResNet101V2 Сохраните результат в base_model Но если я вызову `base_model(weights='imagenet', include_top=False), I get back AttributeError: объект 'NoneType' не имеет атрибута 'image_data_format'` - person MasayoMusic; 11.07.2019
comment
keras_applications не совместим с нетерпеливым выполнением, поэтому я получаю сообщение об ошибке, когда пытаюсь использовать это в tf2.0: "module 'tensorflow' has no attribute 'get_default_graph'" - person craq; 23.09.2019

Найден обходной путь для использования ResNeXt в Keras 2.2.4 здесь.

Для функции ResNeXt50() нужно еще 4 аргумента: бэкэнд, слои, модели и утилиты.

import keras
from keras_applications.resnext import ResNeXt50

model = ResNeXt50(weights='imagenet',
                  backend=keras.backend,
                  layers=keras.layers,
                  models=keras.models,
                  utils=keras.utils)
person Hsinwei    schedule 21.07.2019

В Keras есть несколько разновидностей ResNet, вам нужно будет указать версию ResNet, которую вы хотите, например. Вы хотите загрузить файл ResNet50.

Использовать

from keras.applications import ResNet50

Редактировать 2 Это список, который вы получаете, когда используете команду dir() в приложениях.

['DenseNet121', 'DenseNet169', 'DenseNet201', 'InceptionResNetV2', 'InceptionV3', 'MobileNet', 'MobileNetV2', 'NASNetLarge', 'NASNetMobile', 'ResNet50', 'VGG16', 'VGG19', 'Xception', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', 'absolute_import', 'backend', 'densenet', 'division', 'inception_resnet_v2', 'inception_v3', 'keras_applications', 'keras_modules_injection', 'layers', 'mobilenet', 'mobilenet_v2', 'models', 'nasnet', 'print_function', 'resnet50', 'utils', 'vgg16', 'vgg19', 'xception'], модели, видимые здесь, могут быть загружены следующим образом. Здесь отсутствуют некоторые модели, такие как ResNet101, дайте мне посмотреть, смогу ли я придумать способ исправить это.

Изменить Доказательство того, что это тоже работает

введите здесь описание изображения

Чтобы увидеть все доступные версии моделей Resnet, посетите https://keras.io/applications/#resnet< /а>

person anand_v.singh    schedule 14.02.2019
comment
resnet модули доступны внутри keras.applications.renset нет в keras.applications - person Mohamed Thasin ah; 14.02.2019
comment
@MohamedThasinah То, что то, что вы знаете, работает, не означает, что нет другого способа сделать это, проверьте правку в ответе выше, чтобы найти доказательство. P.S. Это реализовано в Google Colab, и сводка была обрезана, но я думаю, что это доносит мысль. - person anand_v.singh; 14.02.2019
comment
ResNet50 будет работать, можете ли вы попробовать с ResNet101 в том же стиле и не могли бы вы показать свое доказательство? - person Mohamed Thasin ah; 14.02.2019
comment
@MohamedThasinah Извините за путаницу, но я почти уверен, что упомянул ResNet50 в примере, но я также понимаю вашу точку зрения, и это справедливо, ответ должен быть общим, я буду обновлять соответственно. - person anand_v.singh; 14.02.2019
comment
Это from keras.applications.resnet import ResNet50 работает на вас? если да, то не могли бы вы сказать мне? потому что я застрял здесь. Я не могу импортировать модуль resnet :( - person Mohamed Thasin ah; 14.02.2019
comment
@MohamedThasinah Похоже, мне нужно заняться самоанализом. - person anand_v.singh; 14.02.2019
comment
да, я тоже, если вы успешно импортируете resnet101, просто дайте мне знать :) - person Mohamed Thasin ah; 14.02.2019
comment
@MohamedThasinah, какая у тебя версия Кераса? - person desertnaut; 14.02.2019
comment
@desertnaut- - я использую keras 2.2.2 - person Mohamed Thasin ah; 14.02.2019

Проверьте версии.

pip list | grep Keras

Если он уже установлен, удалите и обновите его.

pip uninstall Keras
pip install Keras==2.3.1

pip uninstall Keras-Applications
pip install Keras-Applications==1.0.8

pip uninstall Keras-Preprocessing
pip install Keras-Preprocessing==1.1.0

Надеюсь, поможет.

person Progga Ilma    schedule 01.05.2020

Существует пакет Python с именем «keras-resnet», в котором есть ResNet50, ResNet101, ResNet152 и многие другие варианты ResNet. (https://pypi.org/project/keras-resnet/)

Установка также довольно проста. Просто введите

pip install keras-resnet

Он установит этот модуль, а затем будет использовать его следующим образом:

from keras_resnet.models import ResNet50, ResNet101, ResNet152

backbone = ResNet50(inputs=image_input, include_top=False, freeze_bn=True)
C2, C3, C4, C5 = backbone.outputs # this will give you intermediate 
# outputs of four blocks of resnet if you want to merge low and high level features

Я использую магистрали из этого модуля, и у меня все работает нормально!

person jd95    schedule 04.08.2020
comment
Документов у проекта нет. Не очень надежный/надежный - person Pe Dro; 30.07.2021