ValueError:仅 keras.Layer 的实例

问题描述 投票:0回答:1

ValueError:只能将

keras.Layer
的实例添加到顺序模型中。已收到:(类型为

代码: 导入kagglehub

下载最新版本

路径 = kagglehub.model_download(“google/mobilenet-v2/tensorFlow2/tf2-preview-feature-vector”) mobile_net = hub.KerasLayer("https://tfhub.dev/google/tf2-preview/mobilenet_v2/feature_vector/4", input_shape=(224, 224, 3), # 根据您的输入大小进行更改 trainable=False) # 如果不想微调则冻结权重

定义顺序模型

模型 = tf.keras.models.Sequential([ mobile_net, # 使用预训练模型作为第一层 tf.keras.layers.Dense(1,activation='sigmoid') # 二元分类的最终层 ])

我想解决问题,但我不能,我需要帮助。如果需要完整代码请告诉我在 Colab 或其他地方发送给您 即使我问 chatgpt 但解决方案没有字

tensorflow tf.keras keras-layer sequential
1个回答
-1
投票

代码在

tensorflow==2.15
tensorflow_hub==0.16.1
中运行良好。因此,该错误可能是由于 Keras 3.0 与 TensorFlow 2.17 集成时出现的兼容性问题造成的。考虑使用
tf-keras
(Keras 2.0) 可以解决问题,或者使用 Lambda 层来包装
hub.KerasLayer
(mobile_net) 确保兼容性并允许您使用
tf.keras.models.Sequential
构建模型。

使用lambda层来包裹hub层

import tensorflow as tf
import tensorflow_hub as hub
import kagglehub

path = kagglehub.model_download("google/mobilenet-v2/tensorFlow2/tf2-preview-feature-vector")

mobile_net = hub.KerasLayer(
    "https://tfhub.dev/google/tf2-preview/mobilenet_v2/feature_vector/4")

model = tf.keras.Sequential([
    tf.keras.layers.InputLayer(input_shape=(224, 224, 3)),
    tf.keras.layers.Lambda(lambda x: mobile_net(x)),
    tf.keras.layers.Dense(1, activation='sigmoid')
])
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
model.summary()

输出:

Model: "sequential_5"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓
┃ Layer (type)                         ┃ Output Shape                ┃         Param # ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
│ lambda_2 (Lambda)                    │ (None, 1280)                │               0 │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤
│ dense_5 (Dense)                      │ (None, 1)                   │           1,281 │
└──────────────────────────────────────┴─────────────────────────────┴─────────────────┘
 Total params: 1,281 (5.00 KB)
 Trainable params: 1,281 (5.00 KB)
 Non-trainable params: 0 (0.00 B)

请参阅此要点文档了解更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.