使用classmindspore_rl.policy.EpsilonGreedyPolicy发现维度不匹配
收藏回复举报
使用classmindspore_rl.policy.EpsilonGreedyPolicy发现维度不匹配
发表于2023-08-21 16:07:19
0 查看

1 系统环境

硬件环境(Ascend/GPU/CPU): Ascend/GPU/CPU

MindSpore版本: mindspore=0.6

执行模式(PyNative/ Graph):不限

Python版本: Python=3.7

操作系统平台: 不限

2 报错信息

2.1 问题描述

文档路径https://www.mindspore.cn/reinforcement/docs/zh-CN/r0.6.0-alpha/reinforcement.html#mindspore_rl.policy.EpsilonGreedyPolicy

image.png

这里输入的action_dim是2,输出的output不应该就是action吗?请问为什么是一维的?

调试过程中发现RandomPolicy只能输出一维的,修改之后再RandomPolicy中运行测试代码,可以返回多维的动作,但在EpsilonGreedyPolicy中调用后,仍然返回的是一维的动作

2.2 脚本代码(代码格式,可上传附件)

state_dim, hidden_dim, action_dim = 4, 10, 2
input_net = FullyConnectedNet(state_dim, hidden_dim, action_dim)
policy = GreedyPolicy(input_net)
state = Tensor(np.ones([2, 4]).astype(np.float32))
output = policy(state)
print(output.shape)

3 根因分析

******此处由用户补充详细的定位过程******

4 解决方案

******此处由用户填写******

包含文字方案和最终脚本代码

请将正确的脚本打包并上传附件

我要发帖子