在使用keras的中间层数据提取方法中,出现以下报错
object of type 'Conv2D' has no len()
这是我的网络结构 我像提取的是最后一层化合池的数据
model.add(tf.keras.layers.Conv2D(64, (3, 3), padding='same', strides=2, input_shape=(image_size, image_size, 3)
, activation='relu'))
model.add(tf.keras.layers.MaxPooling2D(pool_size=(2, 2), strides=2, padding='same'))
model.add(tf.keras.layers.Conv2D(128, (3, 3), padding='same', strides=2, activation='relu'))
model.add(tf.keras.layers.MaxPooling2D(pool_size=(2, 2), strides=2, padding='same'))
model.add(tf.keras.layers.Conv2D(256, (3, 3), padding='same', strides=2, activation='relu'))
model.add(tf.keras.layers.Conv2D(256, (3, 3), padding='same', strides=2, activation='relu'))
model.add(tf.keras.layers.MaxPooling2D(pool_size=(2, 2), strides=2, padding='same'))
model.add(tf.keras.layers.Conv2D(512, (3, 3), padding='same', strides=2, activation='relu'))
model.add(tf.keras.layers.Conv2D(512, (3, 3), padding='same', strides=2, activation='relu'))
model.add(tf.keras.layers.MaxPooling2D(pool_size=(2, 2), strides=2, padding='same'))
model.add(tf.keras.layers.Conv2D(512, (3, 3), padding='same', strides=2, activation='relu'))
model.add(tf.keras.layers.Conv2D(512, (3, 3), padding='same', strides=2, activation='relu'))
model.add(tf.keras.layers.MaxPooling2D(pool_size=(2, 2), strides=2, padding='same',name = "out"))
这是我使用的提取方法
layer_name='out'
intermediate_layer_model=Model(input=vgg.input,output=vgg.get_layer(layer_name).output)
intermediate_output=intermediate_layer_model.predict(train_data)
在这里的coven2D换成MaxPooling2D也会出现同样的提示
请问是哪个部分有问题 或者说keras的coven2d和不能单独输出shu'ju