Looping Different Data Sets and Predicting with LSTM(基于LSTM的不同数据集循环与预测)
本文介绍了基于LSTM的不同数据集循环与预测的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我从事Keras和LSTM已经有一段时间了,但仍然相当新。
我遇到一个问题,每次使用keras LSTM进行训练和预测时,我都需要重新启动Jupyter Notebook。
当我需要使用相同的LSTM模型设置使用不同的数据集循环多个预测时,这会出现问题。
另一种方法是逐个数据集训练和预测数据集,每次预测完成后都重新启动并运行,这将是一个非常乏味的过程。
例如:
for i in ...: # Loop for different data set
...
# Create LSTM Model
model = Sequential()
model.add(LSTM(units=32,
activation='relu',
batch_input_shape=(1, timestep_n, feature_n),
return_sequences=True))
model.add(Dense(units=1,
activation='relu'))
model.compile(loss='mean_squared_error', optimizer=adam, metrics=['accuracy'])
...
# Train Model
model.fit(x, y, epochs=100)
...
# Predict
result = model.predict(x_p)
# End Loop for next data set
在创建每个培训模型之前,我已尝试清除会话,但预测值与我运行单个培训和预测时不同。
session = tf.get_default_session()
if session is not None:
session.close()
K.clear_session()
gc.collect()
我还使用了随机种子,希望每次运行都能获得相同的值。以保持一致性。
SEED = 1
np.random.seed(SEED)
tf.set_random_seed(SEED)
random.seed(SEED)
我在考虑在每个循环中声明/创建一个"新的"LSTM模型来预测不同数据集的值,而不必手动重新启动笔记本并为每个数据集运行。
即使我在循环结束时执行del model
,不知何故也无法正确清除内存。
有人能帮忙吗?
推荐答案
您从中得到了什么:
for i in ...: # Loop for different data set
...
model = None
# Create LSTM Model
model = Sequential()
...
这篇关于基于LSTM的不同数据集循环与预测的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:基于LSTM的不同数据集循环与预测


基础教程推荐
猜你喜欢
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01