我想创建具有离散状态空间但具有浮点值的自定义openai体育馆环境。更精确地说,它应该是0.25步长范围内的值: 10.0、10.25、10.5、10.75、11.0,...,19.75、20.0
在openai健身房自定义环境中,是否有一种方法可以使用离散,盒子,多离散或其他一些空间?离散需要整数,Box似乎没有某种step参数。
答案 0 :(得分:1)
您可以使用np.linspace
来实现自己的空间(例如以spaces.Box
为指导):
from gym.spaces.space import Space
import numpy as np
class Incremental(Space):
def __init__(self, start, stop, num, **kwargs):
self.values = np.linspace(start, stop, num, **kwargs)
super().__init__(self.values.shape, self.values.dtype)
def sample(self):
return np.random.choice(self.values)
def contains(self, x):
return x in self.values
space = Incremental(10, 20, 41)