用于分类的堆叠式自动编码器



我训练了一个堆叠的自动编码器,它只包含编码器部分,并在末尾附加了一个分类器。模型如下:

input_ = layers.Input(shape=(78,))
encoder = layers.Dense(50,activation='relu')(input_)
encoder_one = layers.Dense(30,activation='relu')(encoder)
encoder_two = layers.Dense(15,activation='relu')(encoder_one)
classifier = layers.Dense(11,activation='softmax')(encoder_two)
autoencoder = Model(inputs=input_, outputs=classifier)

为了检查模型是否正常工作,我不能像预测CNN或RNN等其他模型那样预测类。我该如何做到这一点?很久以前,我在tensorflow 1.6中使用了带有最后一层的堆叠式自动编码器作为分类器。以前我经常做

y_pred = autoencoder.predict(X_test).ravel()

但上面的代码似乎不再适用于Tensorflow 2.3。

在和编码器中使用分类器层预测类的方法如下:

predicted_classes = autoencoder.predict(X_test)
predicted_classes = np.argmax(np.round(predicted_classes),axis=1)

最新更新