我无法从keras.applications模块导入resnet

huus2vyu  于 2022-11-13  发布在  其他
关注(0)|答案(8)|浏览(361)

我无法导入此模块

import keras.applications.resnet

未找到模块错误
在()中----〉1导入keras.applications.resnet
ModuleNotFoundError: No module named 'keras.applications.resnet'
卡拉斯网链接

6kkfgxo0

6kkfgxo01#

Keras团队还没有在当前模块中包含resnet、resnet_v2和resnext,它们将从Keras 2.2.5中添加,如here所述。
作为一种解决方法,您可以直接使用keras_applications模块导入所有ResNet、ResNetV2和ResNeXt模型,如下所示

from keras_applications.resnet import ResNet50

或者,如果您只想使用ResNet50

from keras.applications.resnet50 import ResNet50

或者,您也可以像这里提到的那样,始终从源代码构建。

webghufk

webghufk2#

尝试使用

from tensorflow.keras.applications.resnet50 import ResNet50
ryhaxcpt

ryhaxcpt3#

找到了在Keras 2.2.4 here中使用ResNeXt的解决方法。
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)
h4cxqtbf

h4cxqtbf4#

在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

kmb7vmvb

kmb7vmvb5#

有一个名为“keras-resnet”的python包,其中包含ResNet 50、ResNet 101、ResNet 152和许多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

我正在使用这个模块中的 Backbone ,对我来说工作得很好!

7vux5j2d

7vux5j2d6#

检查版本:

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
lqfhib0f

lqfhib0f7#

from keras.applications.resnet
import ResNet101    

tf.keras.backend.clear_session
model=VGG19()
model.summary()

tf.keras.utils.plot_model(model,show_shapes=True)
visualkeras.layered_view(model,legend=True)
aydmsdu9

aydmsdu98#

运行前

tensorflow.keras.applications.resnet50 import ResNet50

你得跑了

from tensorflow import keras

相关问题