微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用经过训练的 RL 模型进行预测?

如何解决如何使用经过训练的 RL 模型进行预测?

我想使用经过训练的 RL 模型进行离散测试预测。

模型是这样构建的:

model = Sequential()
model.add(Dense(60,activation='relu',input_shape=states))
model.add(Dense(60,input_shape=states))
model.add(Dense(actions,activation='linear'))

动作空间是一个离散值。观察空间是一个简单的浮点值:

self.action_space = discrete(len(ACTION_MAP))
observation_high = np.finfo(np.float32).max
self.observation_space = Box(low=np.array([-observation_high]),high=np.array([observation_high]))

测试功能运行良好:

scores = dqn.test(env,nb_episodes=1,visualize=False,verbose=1,callbacks=[CustomCallback()])

但是当我这样做时:

print(dqn.model.predict_step([30]))

我收到此错误

ValueError:层密集的输入 0 与层不兼容::预期 min_ndim=2,发现 ndim=0。收到的完整形状:()

这是进行预测的正确方法吗?输入数据应该是什么样的?

解决方法

解决方案:

model = keras.models.load_model('models/130000/')
pf = model.predict(sample_to_predict)
best_action = np.argmax(pf[0])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。