相关疑难解决方法(0)

Keras中的多对一和多对LSTM示例

我尝试了解LSTM以及如何使用Keras构建它们.我发现,主要有4种运行RNN的模式(图中右边4种)

在此输入图像描述 图片来源:Andrej Karpathy

现在我想知道他们每个人的简约代码片段在Keras中会是什么样子.所以像

model = Sequential()
model.add(LSTM(128, input_shape=(timesteps, data_dim)))
model.add(Dense(1))
Run Code Online (Sandbox Code Playgroud)

对于4个任务中的每个任务,可能只需要一点点解释.

machine-learning neural-network deep-learning keras recurrent-neural-network

86
推荐指数
2
解决办法
3万
查看次数

Keras lstm具有用于可变长度输入的屏蔽层

我知道这是一个有很多问题的主题,但我找不到任何问题的解决方案.

我正在使用屏蔽层训练可变长度输入的LSTM网络,但它似乎没有任何影响.

输入形状(100,362,24),其中362是最大序列长度,24是特征数量,100是样本数量(划分75列火车/ 25有效).

输出形状(100,362,1)稍后变换为(100,362-N,1).

这是我的网络代码:

from keras import Sequential
from keras.layers import Embedding, Masking, LSTM, Lambda
import keras.backend as K


#                          O O O
#   example for N:3        | | |
#                    O O O O O O
#                    | | | | | | 
#                    O O O O O O

N = 5
y= y[:,N:,:]

x_train = x[:75]
x_test = x[75:]
y_train = y[:75]
y_test = y[75:]

model = Sequential()
model.add(Masking(mask_value=0., input_shape=(timesteps, features)))
model.add(LSTM(128, return_sequences=True))
model.add(LSTM(64, return_sequences=True)) …
Run Code Online (Sandbox Code Playgroud)

python masking lstm keras

11
推荐指数
1
解决办法
6496
查看次数

用于LSTM-RNN训练的填充时间序列子序列

我有一个时间序列数据集,我用它作为LSTM-RNN的输入,用于行动预期.时间序列包括30fps(即150个数据点)的5秒时间,并且数据表示面部特征的位置/移动.

我从我的数据集中采样较小长度的其他子序列,以便在数据集中添加冗余并减少过度拟合.在这种情况下,我知道子序列的开始和结束帧.

为了批量训练模型,所有时间序列需要具有相同的长度,并且根据文献中的许多论文填充不应该影响网络的性能.

例:

原始序列:

 1 2 3 4 5 6 7 8 9 10
Run Code Online (Sandbox Code Playgroud)

子序列:

4 5 6 7
8 9 10
2 3 4 5 6
Run Code Online (Sandbox Code Playgroud)

考虑到我的网络正在试图预测一个动作(意味着一旦P(动作)>阈值从t = 0变为T = tmax,它将预测该动作)填充的位置是否重要?

选项1:零替换原始值

0 0 0 4 5 6 7 0 0 0
0 0 0 0 0 0 0 8 9 10
0 2 3 4 5 6 0 0 0 0
Run Code Online (Sandbox Code Playgroud)

选项2:最后全部为零

4 5 6 7 0 0 0 0 0 0 
8 …
Run Code Online (Sandbox Code Playgroud)

machine-learning padding deep-learning lstm recurrent-neural-network

10
推荐指数
2
解决办法
3933
查看次数

LSTM自动编码器,用于时间序列预测

我正在尝试构建LSTM自动编码器来预测时间序列数据。由于我是Python新手,因此在解码部分会出错。我试图像这里Keras那样建立它。我完全无法理解给定示例之间的区别。我现在拥有的代码如下所示:

问题1:每个样本有2000个值时,如何选择batch_size和input_dimension?

问题2:如何使LSTM自动编码器正常工作(模型和预测)?这仅是模型,但如何预测?是说从样本10开始一直到数据结束,这是在预测吗?

Mydata总共有1500个样本,我将使用10个时间步长(如果更好,则更多),每个样本有2000个值。如果您需要更多信息,我也会在以后包括它们。

trainX = np.reshape(data, (1500, 10,2000))

from keras.layers import *
from keras.models import Model
from keras.layers import Input, LSTM, RepeatVector
Run Code Online (Sandbox Code Playgroud)

参数

timesteps=10
input_dim=2000
units=100 #choosen unit number randomly
batch_size=2000 
epochs=20
Run Code Online (Sandbox Code Playgroud)

模型

inpE = Input((timesteps,input_dim)) 
outE = LSTM(units = units, return_sequences=False)(inpE)
encoder = Model(inpE,outE) 
inpD = RepeatVector(timesteps)(outE)
outD1 = LSTM(input_dim, return_sequences=True)(outD
decoder = Model(inpD,outD) 
autoencoder = Model(inpE, outD)
autoencoder.compile(loss='mean_squared_error',
          optimizer='rmsprop',
          metrics=['accuracy'])
autoencoder.fit(trainX, trainX,
      batch_size=batch_size,
      epochs=epochs)
encoderPredictions = encoder.predict(trainX)
Run Code Online (Sandbox Code Playgroud)

python lstm keras

5
推荐指数
1
解决办法
4835
查看次数

如何使用 PyTorch 构建 LSTM AutoEncoder?

我有我的数据DataFrame

       dOpen     dHigh      dLow    dClose   dVolume  day_of_week_0  day_of_week_1  ...  month_6  month_7  month_8  month_9  month_10  month_11  month_12
639 -0.002498 -0.000278 -0.005576 -0.002228 -0.002229              0              0  ...        0        0        1        0         0         0         0
640 -0.004174 -0.005275 -0.005607 -0.005583 -0.005584              0              0  ...        0        0        1        0         0         0         0
641 -0.002235  0.003070  0.004511  0.008984  0.008984              1              0  ...        0        0        1        0         0         0         0
642  0.006161 -0.000278 -0.000281 -0.001948 -0.001948              0              1  ...        0        0        1        0         0 …
Run Code Online (Sandbox Code Playgroud)

python autoencoder lstm pytorch

5
推荐指数
1
解决办法
2563
查看次数