首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以将神经网络配置为在Keras中输出矩阵吗?

可以将神经网络配置为在Keras中输出矩阵吗?
EN

Stack Overflow用户
提问于 2019-04-24 04:34:07
回答 2查看 1.2K关注 0票数 1

我正在进行3维时间序列的预测,想知道是否有可能在Keras中配置一个模型来输出一个矩阵。

目前,我一个接一个地训练了3个回归模型,一个用于预测每个输出维度。例如,在预测水平为10个样本的情况下,每个模型输出一个10x1向量。然而,似乎使用单一模型可以更有效地实现这一点。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2019-05-04 03:54:06

我发现了一种使用Keras核心层重塑的更好的方法。对于按预测变量大小调整大小的输出的预测范围,在具有该形状的密集图层之后添加重塑图层

代码语言:javascript
复制
from keras.layers import Dense, Reshape, Sequential, LSTM

model = Sequential()
model.add(LSTM(100, activation='relu', return_sequences=True, input_shape=(n_steps_in, n_features)))
model.add(LSTM(100, activation='relu'))
model.add(Dense(n_steps_out*n_features))
model.add(Reshape((n_steps_out,n_features)))

model.compile(optimizer='adam', loss='mse')
票数 3
EN

Stack Overflow用户

发布于 2019-04-25 06:30:29

我想出了一个非常简单的解决办法。我只是在进入的过程中重塑目标,在退出的过程中重塑预测。

代码语言:javascript
复制
    input_data = input_data.reshape((num_simulations,input_samples*3))
    target_data = target_data.reshape((num_simulations,horizon*3))

    model.fit(input_data, target_data, validation_split=0.2, epochs=epochs, 
            batch_size=batch_size, verbose=0, shuffle=True)

    prediction = model.predict(input_data, batch_size=batch_size)
    prediction = prediction.reshape((num_simulations,horizon,3))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55819013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档