首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keras-rl中的Keras LSTM层

Keras-rl中的Keras LSTM层
EN

Stack Overflow用户
提问于 2020-01-22 22:22:21
回答 3查看 772关注 0票数 0

我正在尝试使用Keras-rl实现一个DQN代理。问题是,当我定义模型时,我需要在体系结构中使用LSTM层:

代码语言:javascript
复制
model = Sequential()
model.add(Flatten(input_shape=(1, 8000)))
model.add(Reshape(target_shape=(200, 40)))
model.add(LSTM(20))
model.add(Dense(3, activation='softmax'))
return model

执行rl-agent时,我得到以下错误:

代码语言:javascript
复制
RuntimeError: Attempting to capture an EagerTensor without building a function.

这与LSTM的使用和下面的代码行有关:

代码语言:javascript
复制
tf.compat.v1.disable_eager_execution()

使用密集层而不是LSTM:

代码语言:javascript
复制
model = Sequential()
model.add(Flatten(input_shape=(1, 8000)))
model.add(Dense(20))
model.add(Dense(3, activation='softmax'))
return model

并且保持禁止执行的状态,我没有之前报告的错误。如果我删除了禁用LSTM层的急切执行,我还会遇到其他错误。

有谁能帮我理解错误的原因吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-01-23 00:13:58

keras-rl库不明确支持TensorFlow 2.0,因此它不能与该版本的TensorFlow一起工作。该库的更新很少,最新版本大约是2年前(2018年),所以如果你想使用它,你应该使用TensorFlow 1.x

票数 1
EN

Stack Overflow用户

发布于 2020-05-03 19:29:39

从github支持tensorflow 2.x安装keras-rl2

票数 1
EN

Stack Overflow用户

发布于 2020-04-06 21:23:04

尽管可以将keras-rl的代码迁移为使用急切执行,因此也可以使用LSTM。LSTM需要用一整集的学习来证明keras-rl不支持的东西是准确的。点击此处查看更多信息:https://github.com/keras-rl/keras-rl/issues/41

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59861818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档