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

Aay*_*jaj 8 keras tensorflow resnet

我无法导入此模块

import keras.applications.resnet
Run Code Online (Sandbox Code Playgroud)

ModuleNotFoundError
在()----> 1个进口keras.applications.resnet

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


keras resnet 链接

Suv*_*jay 18

Keras队并没有包括在当前模块中RESNET,resnet_v2和resnext,他们将Keras 2.2.5添加,提到这里

要解决此问题,可以直接使用keras_applications模块导入所有ResNet,ResNetV2和ResNeXt模型,如下所示

from keras_applications.resnet import ResNet50
Run Code Online (Sandbox Code Playgroud)

或者,如果您只想使用ResNet50

from keras.applications.resnet50 import ResNet50
Run Code Online (Sandbox Code Playgroud)

另外,您始终可以按照此处所述从源代码构建。


小智 10

尝试使用

from tensorflow.keras.applications.resnet50 import ResNet50
Run Code Online (Sandbox Code Playgroud)


小智 6

此处找到了在 Keras 2.2.4 中使用 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)
Run Code Online (Sandbox Code Playgroud)


ana*_*ngh 1

在 Keras 中,有多种类型的 ResNet,您必须指定所需的 ResNet 版本,例如您希望加载 ResNet50。

使用

from keras.applications import ResNet50

编辑 2dir()这是在应用程序上使用命令时获得的列表

['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