我正在研究一个深度强化问题,我对此并不陌生。我正在编写一段代码和我遇到的错误。
Broker_Node_Map 是机器中不同位置的值列表。我不知道如何将这些值表示为整数。这就是我的状态,因为它也在相应地发生变化。请建议我该怎么做。请善待,我很新,并试图掌握一些东西。
def __init__(self):
super(BrokerEnv2, self).__init__()
reward = 0
self.action_space = DiscreteActions.get_action_space()
self.observation_space = DiscreteObservations.get_observation_space()
def reset(self):
observed_State = self.Broker_Node_Map
return observed_State
在稳定基线上检查 env 时 -check_env(env) **Error** - AssertionError: The observation returned by reset() method must be an int
编辑 1 - 我很粗心。将空间更改为盒子空间,但现在出现了另一个错误。 AssertionError:reset() 方法返回的观测值与给定的观测空间不匹配
这就是我的 reset() 返回的内容-
<class 'numpy.ndarray'> (46,) [26 33 0 50 0 0 73 26 0 29 0 34 27 67 0 0 0 0 35 60 0 0 24 22
0 0 0 0 25 0 17 0 0 0 21 0 0 53 68 40 51 0 62 0 56 0]
这就是我定义观察空间的方式 -
self.observation_space = spaces.Box(low=1, high=73, shape=(46,), dtype=np.int64)
请帮我看看为什么会出现这个错误?