我想建立一个CNN模型。我有x_train=8000000x7,y_train=8000000x2。因为它是一个多变量时间序列。如何输入窗口大小为160和stride=1的输入。
cnn模式的输入应该是什么?
我使用时间序列生成器来创建数据集,如下所示
train_gen = tf.keras.preprocessing.sequence.TimeseriesGenerator(X_train, Y_train,
length=160, sampling_rate=1,shuffle=False, batch_size=256)
batch_0 = train_gen[0]
data, label = batch_0
print("Shape of the generator data and label:", data.shape, label.shape)
input=data.shape[1],data.shape[2]对于LSTM,我使用“输入”作为输入形状。CNN模式的输入应该是什么?
(1) CNN模型能使用时间序列发生器吗?( 2)是否有建立滑动窗口方法的数据发生器?
发布于 2022-11-22 15:02:26
首先,不建议使用TimeseriesGenerator,并且不以tensorflow张量作为输入,因此我不鼓励使用它。相反,您可以从keras中使用timeseries_dataset_from_array (doc 这里)。它还会产生滑动窗口。
对于时间意甲预测,你应该使用一维CNN。它们接受一个序列作为输入,与LSTM完全一样。就形状而言,在Tensorflow,它仍然是:
input = data.shape[1], data.shape[2]假设data.shape[0]是批处理大小,则data.shape[1]为序列长度,data.shape[2]为每个元素的特性数。
https://stackoverflow.com/questions/74532559
复制相似问题