tensorflow - 将层的输出作为特征向量(KERAS)

标签 tensorflow keras theano keras-layer

我在 keras 中有一个 CNN 模型(用于信号分类):

    cnn = Sequential()

    cnn.add(Conv1D(10,kernel_size=8,strides=4, padding="same",activation="relu",input_shape=(Dimension_of_input,1)))
    cnn.add(MaxPooling1D(pool_size=3))

    cnn.add(Conv1D(10,kernel_size=8,strides=4, padding="same",activation="relu"))
    cnn.add(MaxPooling1D(2))
    cnn.add(Flatten())

    cnn.add(Dense(2, activation="softmax"))

使用'model.summary()'方法,我可以得到每一层输出的形状。在我的模型中,最后一个最大池化层的输出是 (None, 1, 30),而扁平层的输出是 (None, 30)。

对于每个训练和测试样本:在 keras 中是否有可能将展平层的输出作为具有 30 个特征(数字)的特征向量,然后再作为密集层的输入?

最佳答案

通过以下方式选择最后一层:

last = cnn.layers[-1]

然后使用以下方法创建一个新模型:
inp = Input(shape=(Dimension_of_input,))
features = Model(inp, last)

所以,
feature_vec = features.predict(x_train)

为您提供 flatten 层的输出作为每个训练样本的特征向量

关于tensorflow - 将层的输出作为特征向量(KERAS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46030037/

相关文章:

python - 安装 theano

python - Theano矩阵逆

使用 toco 的 TensorFlow Lite : Error converting to . tflite

tensorflow - 使用 Keras 和 Tensorflow 实现 CNN

python - CNN 给出随机答案,而全连接神经网络工作正常

python - 每 10 个时期报告一次 Keras 模型评估指标?

python - tf.gfile 在 TensorFlow 中做了什么?

python - 如何在 tensorflow 中保存文本分类模型?

python - CNN - 多类分类的错误预测

linux - 在 Linux 上安装 block