小编tot*_*uta的帖子

Keras:我应该如何为RNN准备输入数据?

我在为Keras准备RNN的输入数据时遇到了麻烦.

目前,我的培训数据维度是: (6752, 600, 13)

  • 6752:训练数据的数量
  • 600:时间步数
  • 13:特征向量的大小(向量是浮点数)

X_train并且Y_train都在这个方面.

我想把这些数据准备好SimpleRNN用于Keras.假设我们正在经历时间步骤,从步骤#0到步骤#599.假设我想使用input_length = 5,这意味着我想使用最近的5个输入.(例如步骤#10,#11,#12,#13,#14 @步骤#14).

我应该如何重塑X_train

应该是(6752, 5, 600, 13)或应该是(6752, 600, 5, 13)吗?

什么形状应该Y_train在?

它应该是(6752, 600, 13)(6752, 1, 600, 13)(6752, 600, 1, 13)

deep-learning lstm keras recurrent-neural-network

15
推荐指数
2
解决办法
5986
查看次数

如何监控Theano/Keras的张量值?

我知道这个问题已经以各种形式提出,但我找不到任何我能理解和使用的答案.如果这是一个基本问题,请原谅我,因为我是这些工具的新手(theano/keras)

要解决的问题

监控神经网络中的变量(例如LSTM中的输入/遗忘/输出门值)

我目前得到的是什么

无论我在哪个阶段获得这些价值观,我都会得到类似的东西:

Elemwise{mul,no_inplace}.0
Elemwise{mul,no_inplace}.0
[for{cpu,scan_fn}.2, Subtensor{int64::}.0, Subtensor{int64::}.0]
[for{cpu,scan_fn}.2, Subtensor{int64::}.0, Subtensor{int64::}.0]
Subtensor{int64}.0
Subtensor{int64}.0
Run Code Online (Sandbox Code Playgroud)

有什么方法我无法监控(例如打印到stdout,写入文件等)吗?

可能解决方案

似乎像Keras的回调可以完成这项工作,但它对我来说也不起作用.我和上面的东西一样

我猜

好像我犯了很简单的错误.

大家都非常感谢你们.


添加

具体来说,我正在尝试监视LSTM中的输入/遗忘/输出门控值.我发现LSTM.step()用于计算这些值:

def step(self, x, states):
    h_tm1 = states[0]   # hidden state of the previous time step
    c_tm1 = states[1]   # cell state from the previous time step
    B_U = states[2]     # dropout matrices for recurrent units?
    B_W = states[3]     # dropout matrices for input units?

    if self.consume_less == 'cpu':                              # just cut x into 4 pieces in columns …
Run Code Online (Sandbox Code Playgroud)

monitoring callback theano keras

7
推荐指数
1
解决办法
5138
查看次数