python - Python 多输入 - 多输出神经网络归一化 - 逆结果
问题描述
我正在尝试为数据预测模型创建一个 5 输入和 5 输出的神经网络。在下面的示例中,5 个输入是 10,8,6,4,2,5 个输出是 5,4,3,2,1,最后一行运行后我得到以下输出;数组([[0.33333334, 0.26666668, 0.19999999, 0.13333334, 0.06666668]], dtype=float32)
关于如何让输出数组显示值 5,4,3,2,1 的任何建议,这是它所训练的?
import warnings
warnings.filterwarnings('ignore')
import keras
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation
from keras.optimizers import SGD
import numpy as np
import pandas as pd
x_train = np.array([[10,8,6,4,2],
[10,8,6,4,2],
[10,8,6,4,2],
[10,8,6,4,2],
[10,8,6,4,2],
[10,8,6,4,2],
[10,8,6,4,2],
[10,8,6,4,2],
[10,8,6,4,2],
[10,8,6,4,2]])
y_train = np.array([[5,4,3,2,1],
[5,4,3,2,1],
[5,4,3,2,1],
[5,4,3,2,1],
[5,4,3,2,1],
[5,4,3,2,1],
[5,4,3,2,1],
[5,4,3,2,1],
[5,4,3,2,1],
[5,4,3,2,1]])
x_test = np.array([[10,8,6,4,2],
[10,8,6,4,2]])
y_test = np.array([[5,4,3,2,1],
[5,4,3,2,1]])
model = Sequential()
model.add(Dense(64, activation='relu', input_dim=5))
model.add(Dropout(0.5))
model.add(Dense(64, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(5, activation='softmax'))
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy',optimizer=sgd,metrics=['accuracy'])
model.fit(x_train, y_train,epochs=2000,batch_size=128)
model.predict(x_train[1:2], batch_size=None, verbose=0, steps=None)
解决方案
推荐阅读
- python - 如何使用框平均法对 netcdf 数据进行下采样
- html - 一个内部 div 在移动设备中分成 2 个未指定的列
- debugging - 隐藏numba编译的调试输出
- r - ggplot2:颜色特定的 ID 红色和其他以单独变量为条件的点
- javascript - 如何替换 contenteditable div 中的文本?
- windows - 在 Windows azure vm 启动时运行脚本
- c - 在一个文件中定义变量,但在另一个文件中未定义(在公共头文件中声明)
- r - 尽管有私人配置文件错误消息,但继续循环
- codenameone - 如何为 CN1 SwipeContainer 动态启用/禁用向任一侧滑动?
- ios - 无法将“[String]”类型的值分配给“String”类型