def make_forecast(model: Sequential, look_back_buffer: numpy.ndarray, timesteps: int=1, batch_size: int=1):
forecast_predict = numpy.empty((0, 1), dtype=numpy.float32)
for _ in trange(timesteps, desc='predicting data\t', mininterval=1.0):
# make prediction with current lookback buffer
cur_predict = model.predict(look_back_buffer, batch_size)
# add prediction to result
forecast_predict = numpy.concatenate([forecast_predict, cur_predict], axis=0)
# add new axis to prediction to make it suitable as input
cur_predict = numpy.reshape(cur_predict, (cur_predict.shape[1], cur_predict.shape[0], 1))
# remove oldest prediction from buffer
look_back_buffer = numpy.delete(look_back_buffer, 0, axis=1)
# concat buffer with newest prediction
look_back_buffer = numpy.concatenate([look_back_buffer, cur_predict], axis=1)
return forecast_predict
评论列表
文章目录