我对创建神经网络非常陌生,我正在尝试在python中使用Keras来创建一个模型,该模型将根据前约100个输入来预测序列。
我正在使用11x10000数组预测单个输出值,并且我创建了一个非常适合该回归的NN。但是,我想创建另一个NN,它将预测回归NN的输入。
我有一个非常大的数据集可用于训练,我试图使用数组的前几个输入来预测一个11x10000数组。
我可以用它来预测当前时间步的预期值,但是我希望它可以基于当前和近期值来预测将来的值。
以下是一些代码:
names = getNames()
test = getNames()
for index in range(len(names)):
print(index)
X, Y = getData(names, index, False)
X_test, Y_test = getData(test, index, True)
NN = makeNN(X,Y, X_test, X_test)
def getModel():
keras.backend.clear_session()
model = Sequential()
model.add(Dense(100, input_dim=11, kernel_initializer='normal', activation='relu'))
model.add(Dense(10, init='uniform', activation='relu'))
model.add(Dense(11, init='uniform', activation='relu'))
model.compile(loss='mean_squared_error', optimizer='adam')
return model
def makeNN(X, Y, X_test, Y_test):
try:
model = keras.models.load_model('./trajSweepNNVacc.h5')
print("previous model loaded")
except:
model = getModel()
print("new model created")
X_train = X[0:]
print('Training -----------')
model.fit(X_train, X_train, epochs=2)
print('\nTesting ------------')
cost = model.evaluate(X_test, Y_test)
print('test cost:', cost)
W, b = model.layers[0].get_weights()
model.save('trajSweepNNVacc.h5')
return model
我想让它预测未来的10000个值,但是目前我只能让它预测一个当前值