gpt4 book ai didi

python - 如何使用经过训练的 Keras GRU 模型预测新的数据系列?

转载 作者:行者123 更新时间:2023-12-01 07:41:17 25 4
gpt4 key购买 nike

我正在尝试使用训练有素的 Keras 序列模型 (GRU) 来预测一些新的数据样本,但在创建时间序列生成器时遇到一些问题。

在训练过程中,使用 model.predict_generator() 预测验证集,该验证集使用 keras.preprocessing.sequence.TimeseriesGenerator() 创建的 Python 生成器( link ) 作为输入。我想使用新的测试集重复该过程,却发现 TimeseriesGenerator() 需要数据和目标作为输入。但在这种情况下,我希望通过预测函数获得目标(即 y_test)。

我的训练代码的简化版本如下所示:

training_generator = TimeseriesGenerator(X_train, y_train, length=timesteps * sampling_rate, sampling_rate=sampling_rate, batch_size=batch_size, shuffle=shuffle_data)
test_generator = TimeseriesGenerator(X_test, y_test, length=timesteps * sampling_rate, sampling_rate=sampling_rate, batch_size=batch_size, shuffle=shuffle_data)

model.fit_generator(generator=training_generator, epochs=epochs, use_multiprocessing=False, verbose=2)
y_test_pred = model.predict_generator(generator=test_generator)

我也想过自己编写一个自定义生成器,但是这样验证这个生成器和官方时间序列生成器之间的等效性真的很难。

有没有办法在不给出目标的情况下使用TimeseriesGenerator()

感谢您的帮助!

最佳答案

一个简单的解决方法是生成虚拟目标,因为 predict_generator 将忽略它们:

X_test =  your new test data
y_dummy = np.zeros((X_test.shape[0], ))
test_generator = TimeseriesGenerator(X_test, y_dummy, length=timesteps * sampling_rate, sampling_rate=sampling_rate, batch_size=batch_size, shuffle=shuffle_data)
y_test_pred = model.predict_generator(generator=test_generator)

如果您的标签是多维的,您应该调整 y_dummy 的形状。

关于python - 如何使用经过训练的 Keras GRU 模型预测新的数据系列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56703712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com