如何更改Keras致密层的输出尺寸?

时间:2019-12-25 21:03:08

标签: python keras deep-learning reinforcement-learning

我试图建立一个简单的交易机器人。我使用深度q学习来做到这一点。靴筒将输入单个股票价格作为输入。

input = [9540.5  9167. 8651.8     9200.5  8780.]

这是我的模型的样子。

model = Sequential()

model.add(Dense(units=64, input_dim = 1, activation="relu"))

model.add(Dense(32))

model.add(Dense(16))

model.add(Dense(8))

model.add(Dense(self.action_size, activation="linear"))

model.compile(loss="mse", optimizer=Adam(lr=0.001))

start = time.time()

model.summary()

return model

这就是我要得到的

desire Output: [   70.84186   -218.39314  -1069.3423  ]

这是它的样子:

actual output:
[
[   70.84186   -218.39314  -1069.3423  ]
[   70.84186   -218.39314  -1069.3423  ]
[   70.84186   -218.39314  -1069.3423  ]
[   70.84186   -218.39314  -1069.3423  ]
[   70.84186   -218.39314  -1069.3423  ]
]

可以请人告诉我如何减小输出尺寸。

1 个答案:

答案 0 :(得分:0)

经过反复尝试,我发现了, 我的输入是错误的。

input = [1,2,3,4]

是从网络解释为4个示例,而不是 一个具有4个功能的示例。 因此,我已使用Numpy更改了输入内容。

input = np.array(input)
input = np.expand_dims(input, axis=0)

因此,输入内容如下:

[[1,2,3,4]]

使用此输入网络仅计算一个输出。

ps。 Matias Valdenergo 输入的是股价变动的时间序列。 输出是某些操作(如持有,出售或购买)的加权值。