tensorflow - 用于分类的堆叠自动编码器
问题描述
我已经训练了一个堆叠的自动编码器,它只包含编码器部分,并在最后附加了一个分类器。该模型如下所示:
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)
推荐阅读
- php - Laravel 5 如何在我的控制器中为每个变量操作我的变量,然后将其传递给我的视图
- python - 选择行并替换值小于熊猫中特定值的列
- c# - 想使用 log4net 将日志写入网络路径
- elasticsearch - 如何在弹性搜索查询中对当前页面数据运行聚合
- json - Swift - JSONDecoder - 解码通用嵌套类
- java - 创建 jfreechart 分数条/图表的问题
- php - 在 localhost 上工作时的相对 URL
- c - 在 C 程序中,无法通过 Windows (Netbeans) 中的键盘指示 EOF
- javascript - 如何在angular2中获取html元素的宽度?
- android - string.xml 的图标已更改